【WordPress】ターム一覧を表示する方法【結論:get_termsを使おう】

WordPressでターム一覧をヘッダー・フッター・サイドバーに表示したい。
また、出力条件を色々とカスタマイズしたい。
本記事ではこのような悩みを解決。
実装方法について解説します。
実装コード
<ul class="terms-list">
<?php
$taxonomy = 'タクソノミー名';
$terms = get_terms($taxonomy);
foreach ($terms as $term) :
$term_link = get_term_link($term->slug,$taxonomy);
?>
<li><a href="<?php echo $term_link; ?>"><?php echo $term->name; ?></a></li>
<?php endforeach; ?>
</ul>
ターム一覧を出力するコードです。
get_terms関数を使う事で指定したタクソノミーに登録されてるタームを配列で取得できます。
foeach
を使って上記配列から値を取り出し、タームの数だけループ・実行します。
foreach
内で以下コードを追加する事でターム名・リンク先URLを出力できます。
タームページへのリンクURLget_term_link($term->slug,$taxonomy);
ターム名$term->name;
以上で実装完了です。
出力条件を変更したい
<ul class="terms-list">
<?php
$taxonomy = 'タクソノミー名';
$args = array(
'orderby' => 'id',//並び順をID順に変更
);
$terms = get_terms($taxonomy,$args);
foreach ($terms as $term) :
$term_link = get_term_link($term->slug,$taxonomy);
?>
<li><a href="<?php echo $term_link; ?>"><?php echo $term->name; ?></a></li>
<?php endforeach; ?>
</ul>
出力条件を変更したい場合はget_terms
の引数にパラメータを指定します。
$argsに定義されてる連想配列内に条件を変えるパラーメータを指定します。
上記コード例だとorderby
を使ってタームの並び順をID順に変更する条件を加えてます。
設定出来るパラメータ一覧は以下記事をご参考ください。
まとめ
デフォルト投稿タイプのカテゴリ一覧を表示したい場合はget_categories関数を使います。
get_categories関数の使い方は以下記事をご参考ください。
以上で解説を終わります。
目次