WordPress リンク付きターム一覧の表示方法
最終更新日 - 公開日 2017.12.26
by
WordPress でリンク付きタームの一覧を表示する方法を紹介します。
例えば、サイドバーなどでリンク付きターム一覧を表示したい時に便利方法です。
タームの一覧を表示する方法
タクソノミーのタームの一覧を表示したい場合は wp_list_categories
を使用します。
例えば、タクソノミーのスラッグが product-cat
のターム一覧を表示したい場合は、
次のコードをテンプレートに追加します。
<ul>
<?php // タームの一覧を表示
$catlist = wp_list_categories(array(
'taxonomy' => 'product-cat', // タクソノミーの指定
'title_li' => '', // リストの外側に表示されるタイトルを非表示
));
echo $catlist; // タームの一覧を表示
?>
</ul>
タームと合わせて、タームに紐づく投稿の投稿数を表示したい場合はパラメーターを調整します。
例えば、タクソノミーのスラッグが product-cat
でターム紐づく投稿の投稿数を括弧なしで表示したい場合は、
次のコードをテンプレートに追加します。
<ul>
<?php // タームの一覧を表示
$catlist = wp_list_categories(array(
'taxonomy' => 'product-cat', // タクソノミーの指定
'title_li' => '', // リストの外側に表示されるタイトルを非表示
'show_count' => 1, // カテゴリの投稿数を表示
'echo' => 0 // 設定した値を返す
));
$catlist = preg_replace('/<\/a> (\([0-9]*\))/', ' <span>$1</span></a>', $catlist); // 投稿数をタグで囲う
$catlist = str_replace(array('(',')'), '', $catlist); // 投稿数を囲う()を削除
echo $catlist; // タームの一覧を表示
?>
</ul>
wp_list_categories と get terms の違い
wp_list_categories
は、リンク付きタームの一覧を「表示」することができます。
対して
wp_list_categories
は、タームがすでにli
やa
タグで囲われた状態で表示されるので、
CSSを調整するだけで簡単に一覧を表示できます。
get_terms
は、一度情報を取得してから表示するので、
見た目を変えたい、任意の項目を表示したいなど、カスタマイズして表示したい時に向いています。
そのほか、タームの取得について詳しく知りたい場合はWordPress ターム情報の取得と表示方法をご覧ください。
まとめ
WordPress でリンク付きタームの一覧を表示する方法を紹介しました。