JOURNAL クリエイティブとマーケティングの話

【WordPress】投稿カテゴリーやカスタム投稿タイプのターム一覧を表示する方法

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 日本語版