WordPressでタクソノミーのターム一覧を表示する方法

WordPressのカスタムタクソノミーで設定したタームを一覧表示する方法の備忘録です。
タクソノミーとタームについては、こちらの記事で詳しくまとめています。
タームのタイトル一覧を表示する
タームのタイトルだけを一覧で表示する方法です。
以下のコードを、テンプレートファイルの一覧を表示したい箇所に記述します。
$terms = get_terms('area');
foreach ($terms as $term) {
echo esc_html($term->name);
}
get_terms()
にタームを表示したいタクソノミーのスラッグを設定します。上記のサンプルでは「area」を指定しています。
取得したタームの配列をforeach
のループで一覧表示します。echo
にesc_html($term->name)
を設定してタームの名称を表示してます。
リンク付きの一覧を表示する
タームのタイトルにリンクをつけた一覧を表示する方法です。
上記のタイトルの一覧を表示するコードの、出力部分にリンクを追記します。
$terms = get_terms('area');
foreach ($terms as $term) {
echo '<a href="' . get_term_link($term) . '">' . $term->name . '</a>';
}
a
タグのhref
にget_term_link($term)
で、そのタームに属する投稿の一覧ページへ遷移するリンクを設定しています。
空のタームを表示する
通常は投稿に設定のない空のタームはget_terms()
で取得されず、一覧に含まれません。投稿に設定されていないタームも一覧に表示したい場合は、パラメーターを調整します。
get_terms()
のパラメーターに、hide_empty=0
を追記して空のタームを表示します。
$terms = get_terms('area','hide_empty=0');
foreach ($terms as $term) {
echo esc_html($term->name);
}
投稿を持たない空のタームも取得され、一覧に表示されます。