BLOG

タクソノミーページで、タイトルとかスラッグとかの情報を取得する

| WordPress

タクソノミーのページ(taxonomy.php taxonomy-***.php)とかでタイトルとかスラッグとか、よく使うけどあれなんだっけ?的なのが多いのがこのページとかの情報の取得する方法ではないですかね?
taxonomy-staff.phpのタイトルはスタッフ紹介のページだからタイトルは「スタッフ紹介」と直書きしてもいいのかもしれないけど、できるなら、taxonomy.phpとかで使い回せるテンプレートで使いたいですよねー

タクソノミースラッグ

echo $taxonomy;

タームID

echo get_queried_object_id();

タームスラッグ

echo $term;

タイトル

single_term_title();
// または
echo single_term_title( '', false );

使い回すときに一旦変数入れてとか、出力される前にカスタマイズしたい場合とかは下の方ですね。

ディスクリプション

echo term_description();

この形だと改行とかpタグとか入ってきます。
いらない場合はフィルターとか「strip_tags」使って取り除く必要があります。

タームの情報まとめて

print_r(get_queried_object());

ただし、taxonomy.php以外のテンプレートでは「get_queried_object()」全然ちがう情報になるので注意。
taxonomy.php以外のテンプレートで取得したい場合はこうなります。

print_r(get_term({タームのID} , {タクソノミー名}));

id指定以外で取得したいとかある場合

print_r(get_term_by({'id', 'slug', 'name'}, {タームの'id', 'slug', 'name'} , {タクソノミー名}));

id以外にもslug, nameからも取得可能です。

出力される情報はこんな感じです。

WP_Term Object
(
    [term_id] => 2  // タームのID
    [name] => {ターム名}
    [slug] => {タームスラッグ}
    [term_group] => 0 // 
    [term_taxonomy_id] => 2 // 
    [taxonomy] => {タクソノミースラッグ}
    [description] => {タームディスクリプション}
    [parent] => 0 // 親タームのID
    [count] => 0 // 記事数
    [filter] => raw
    [term_order] => 1
)

普通には使わないような情報とかもあるんでしょうね。
filterとかって何に使うんだろうか。

記事数

echo get_queried_object()->count;

親タームの情報取得

print_r(get_term_by( 'id', get_queried_object()->parent, $taxonomy ));

いろいろ覚えるのきついときは「get_term」を覚えてたら良さげですねw
僕は、覚えれなさそうなので、今回まとめてみました。

RECENT POSTS

「reduce」を使って配列を値を処理する

data属性の取得・設定・更新【JavaScript】

変数のタイプを調べる、変換する 【Javascript】

VS CodeでLive Serverを使ってプレビューのリロードをしてみよう

メディアクエリでhoverが使えるデバイスかどうか

markdown-wasmというすごく高速なMarkdownパーサー

SNSシェアボタンをオリジナルで設置する

CSSでマスクする

クリッカブルマップのレスポンシブ対応ができる「image-map-resizer」が優秀らしい

我が家の植物たち

CATEGORY

POPULAR POSTS

PAGE TOP