WordPressでサイトを作るときやカスタマイズを行うとき、カスタムタクソノミーを導入する場合があるかと思います。
カスタムタクソノミー(カスタム分類とも呼ばれる)とは、投稿をグループ化するための仕組みのこと。投稿にあるカテゴリーやタグと同じですね。
カスタムタクソノミーを使えば、カテゴリーやタグとは別の分類グループを作成することができのです。
このカスタムタクソノミーを導入した場合、カスタムタクソノミーのターム(項目)を一覧で表示させたい場合が出てきます。カテゴリの一覧を表示させるのと同じ感じです。
カスタムタクソノミーのターム一覧を表示させる方法を見ていきましょう。
カスタムタクソノミーのターム一覧(リンク無し)を表示する方法
カスタムタクソノミーのターム一覧を表示する場合、以下のコードを一覧を表示させたい箇所に設置します。
<ul>
<?php
$terms = get_terms('カスタムタクソノミー名');
foreach ( $terms as $term ) {
echo '<li>' .esc_html($term->name). '</li>'; // タームタイトル
}
?>
</ul>
【カスタムタクソノミー名】の部分は、カスタムタクソノミーのスラッグに置き換えてください。
カスタムタクソノミーのスラッグが【test】の場合は、【test】としてください。
上記のコードを掲載した場所には、以下の様なHTMLが出力されます。
<ul>
<li>ターム名</li>
<li>ターム名</li>
<li>ターム名</li>
<li>ターム名</li>
<li>ターム名</li>
</ul>
こちらの方法では、アーカイブページへのリンクは出力されません。
リンクを出力したい場合は、後述する方法をご覧ください。
上記の方法では、空のタームは表示できません。
空のタームとは、どの投稿とも紐付いていないターム、投稿が一つも分類されていないタームです。
空のタームも表示させたい場合は、以下のコードを使ってください。
<?php
$terms = get_terms('カスタムタクソノミー名','hide_empty=0');
foreach ( $terms as $term ) {
echo '<li>' .esc_html($term->name). '</li>'; // タームタイトル
}
?>
こちらのコードを使えば、空のタームも表示されるようになります。
カスタムタクソノミーのターム一覧(リンクあり)を表示する方法
先ほどのコードは、アーカイブページへのリンクが表示されませんでした。
今回の方法では、アーカイブページへのリンクも合わせて出力できます。
カスタムタクソノミーのターム一覧を表示させたい箇所に以下のコードを記述してください。
<?php
$terms = get_terms('カスタムタクソノミー名');
foreach ( $terms as $term ) {
echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
}
?>
【カスタムタクソノミー名】の部分は、カスタムタクソノミーのスラッグに置き換えてください。
上記のコードを掲載した場所には、以下の様なHTMLが出力されます。
<ul>
<li>ターム名</a></li>
<li>ターム名</a></li>
<li>ターム名</a></li>
<li>ターム名</a></li>
<li>ターム名</a></li>
</ul>
空のタームも表示させたいのなら、以下のコードを記述してください。
<?php
$terms = get_terms('カスタムタクソノミー名','hide_empty=0');
foreach ( $terms as $term ) {
echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
}
?>
【カスタムタクソノミー名】の部分は、書き換えてくださいね。
まとめ
カスタムタクソノミーのターム一覧を表示させる方法をご紹介しました。
今回ご紹介したコードはPHPコードですので、投稿や固定ページでは使用できません。
テーマのファイル内に直接記述するようにしてください。
コメントを残す