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

WordPressのカスタムタクソノミーで設定したタームを一覧表示する方法の備忘録です。

タクソノミーとタームについては、こちらの記事で詳しくまとめています。

タームのタイトル一覧を表示する

タームのタイトルだけを一覧で表示する方法です。

以下のコードを、テンプレートファイルの一覧を表示したい箇所に記述します。

$terms = get_terms('area');
foreach ($terms as $term) {
  echo  esc_html($term->name);
}

get_terms()にタームを表示したいタクソノミーのスラッグを設定します。上記のサンプルでは「area」を指定しています。

取得したタームの配列をforeachのループで一覧表示します。echoesc_html($term->name)を設定してタームの名称を表示してます。

リンク付きの一覧を表示する

タームのタイトルにリンクをつけた一覧を表示する方法です。

上記のタイトルの一覧を表示するコードの、出力部分にリンクを追記します。

$terms = get_terms('area');
foreach ($terms as $term) {
  echo '<a href="' . get_term_link($term) . '">' . $term->name . '</a>';
}

aタグのhrefget_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);
}

投稿を持たない空のタームも取得され、一覧に表示されます。

Share on Twitter
関連記事
tag.phpが表示されない原因と解決策
tag.phpが表示されない原因と解決策
WordPressのSEO対策プラグインAll in One SEOの使い方
WordPressのSEO対策プラグインAll in One SEOの使い方
WordPressの検索結果から特定のページを除外する方法
WordPressの検索結果から特定のページを除外する方法