WordPressで投稿のカテゴリーやカスタム投稿タイプのタームの一覧を表示する方法。
どちらもwp_list_categoriesという関数で表示できます。
投稿カテゴリーやカスタム投稿タイプのターム一覧を表示する方法
<ul>
<?php
$catlist = wp_list_categories(array(
'show_option_all'=> 'すべてのカテゴリー', //全カテゴリーの記事を表示するページへのリンクを表示
'orderby' => 'name', //カテゴリーを何を基準に並べるか
'order' => 'ASC', //カテゴリーをどの方向に並べるか
'style' => 'list', //カテゴリー一覧の表示形式
'show_count' => 0, //カテゴリーに属する投稿数を表示するか
'hide_empty' => 1, //投稿のないカテゴリーを表示するか
'use_desc_for_title' => 1, //カテゴリーの説明をリンクのtitle属性に挿入
'child_of' => 0, //指定したカテゴリーIDの子カテゴリーのみ表示
'feed' => '', //RSSフィードへのリンクを表示
'feed_type' => '', //RSSフィードのタイプを指定
'feed_image' => '', //RSSフィードへのリンクを画像で表示する場合、その画像のURIを設定
'exclude' => '', //コンマ区切りでIDを指定したカテゴリーを除外
'exclude_tree' => '', //コンマ区切りでIDを指定したカテゴリーと子孫カテゴリーを除外
'include' => '', //コンマ区切りでIDを指定したカテゴリーのみを表示
'hierarchical' => 1, //子孫カテゴリーをフラットに表示するか、階層化して表示するか
'title_li' => __( 'Categories' ), //リストの外側に表示するタイトル
'show_option_none' => __( '' ), //表示できるカテゴリーが一つもないときに代わりに表示する文字列
'number' => null, //表示するカテゴリーの個数を設定
'echo' => 1, //カテゴリー一覧を表示する(1)、または値を返す(0)
'depth' => 0, //カテゴリーをどの階層まで出力するか
'current_category' => 0, //カテゴリーアーカイブページ以外で "current-cat" を表示させる(カテゴリーIDを指定)
'pad_counts' => 0, //子カテゴリーを含めて投稿数を計算する
'taxonomy' => 'category', //取得するタクソノミー
'walker' => null //リストをレンダリングする Walker クラス
));
echo $catlist;
?>
</ul>
taxonomyというパラメーターでタクソノミースラッグを指定すれば、そのターム一覧を取得できます。
初期値のcategoryで標準の投稿カテゴリーを取得できるので、その場合は以下のようにtaxonomyを記述する必要はありません。
<ul>
<?php
$catlist = wp_list_categories(array(
'show_count' => 1,
'title_li' => '',
'echo' => 0
));
echo $catlist;
?>
</ul>
まとめ
以上、WordPressで投稿のカテゴリーやカスタム投稿タイプのタームの一覧を表示する方法でした。
わりと使用頻度が高く、案件によってはパラメーターの細かい指定など必要になるかと思うので、しっかり整理しておきたいです。
- 参考
- テンプレートタグ/wp list categories – WordPress Codex 日本語版