タクソノミーページで、タイトルとかスラッグとかの情報を取得する
| 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
僕は、覚えれなさそうなので、今回まとめてみました。