taxonomy.phpは、タクソノミーのアーカイブページを構成する時に作成するテーマファイルですが、このtaxonomy.phpで表示しているアーカイブページでターム情報を取得して出力する方法についてご紹介したいと思います。
taxonomy.php内でタームの情報を出力する方法
タームのスラッグを出力する
表示しているアーカイブページでタームのスラッグを出力するには、以下のように記述します。
<?php echo $term; ?>
表示しているアーカイブのタームスラッグが出力されます。
タームのIDを出力する
タームのIDを出力するには、以下のように記述します。
<?php
$term_id = get_queried_object_id();
echo $term_id;
?>
タームのタイトルを出力する
タームのタイトルを出力するには、以下のように記述します。
<?php single_term_title(); ?>
taxonomy.phpの見出しに追加しても良いですね。
タームの説明を出力する
タームの設定で入力している「説明」を出力するには、以下のように記述します。
<?php term_description(); ?>
各アーカイブページで出力を変えるために、見出しの下などに出力すると良いですね。
タームの情報をまとめて取得する
get_queried_objectを使えば、タームの情報をまとめて取得することもできます。
<?php
$term_object = get_queried_object();
echo $term_object->term_id; // タームのID
echo $term_object->slug; // タームのスラッグ
echo $term_object->name; // タームのタイトル
echo $term_object->description; // タームの説明
?>
タームが所属するタクソノミー名を取得する
タームが所属しているタクソノミー名を取得するには、以下のように記述します。
<?php
$tax_object = get_taxonomy_labels( get_taxonomy( $taxonomy ) );
echo $tax_object->name;
?>
get_taxonomyでタクソノミーの情報を取得し、get_taxonomy_labelsでタクソノミーの各種ラベルを取得しています。
$tax_objectに格納される情報は、以下の通りです。
- name:タクソノミーの複数形の名前。デフォルトは Tags/Categories です。
- singular_name:タクソノミーの単数形の名前。デフォルトは Tag/Category です。
- search_items:デフォルトは Search Tags/Search Categories です。
- popular_items:階層化されたタクソノミーの時は使われません。デフォルトは Popular Tags です。
- all_items:デフォルトは All Tags/All Categories です。
- parent_item:階層なしタクソノミーの時は使われません。階層化されている時のデフォルトは Parent Category です。
- parent_item_colon:parent_item と同じですが末尾にコロン(:)が付きます。
- edit_item:デフォルトは Edit Tag/Edit Category です。
- view_item:デフォルトは View Tag/View Category です。
- update_item:デフォルトは Update Tag/Update Category です。
- add_new_item:デフォルトは Add New Tag/Add New Category です。
- new_item_name:デフォルトは New Tag Name/New Category Name です。
- separate_items_with_commas:階層化されたタクソノミーの時は使われません。デフォルトは “Separate tags with commas” で、メタボックスの中で使われます。
- add_or_remove_items:階層化されたタクソノミーの時は使われません。デフォルトは “Add or remove tags” で、JavaScript が無効な時にメタボックスの中で使われます。
- choose_from_most_used:階層化されたタクソノミーの時は使われません。デフォルトは “Choose from the most used tags” で、メタボックスの中で使われます。
- not_found:階層化されたタクソノミーの時は使われません。デフォルトは “No tags found” で、メタボックスの中で使われます。
あとがき
タームの情報を出力することで、ユーザーが何の一覧を見ているのか認識しやすくなりますね。アーカイブページの作りこみは厳かになりがちですが、細かい配慮がユーザビリティの向上に繋がります。より良いサイト作りの参考にしてもらえると幸いです。