小金井にあるWEB制作会社の備忘録

MEMORANDUM

WordPress(ワードプレス)で特定カテゴリーの子カテゴリーを取得・表示する

ワードプレスの投稿のカテゴリー機能を、目的ごとに使い分けたいというご要望があった際に、カテゴリーごとに所属するカテゴリー(子カテゴリー)を表示する必要があったので対応方法をメモ。

PHP

$terms = get_terms('category', array('slug' =>'news'));
$term = $terms[0];
$cats = get_categories(array(
	'child_of' => $term->term_id,
	'title_li' => '',
));
foreach($cats as $cat){
	echo '<li><a href="'.get_category_link($cat->term_id).'">'.$cat->name.'</a></li>';
}

「get_terms」に対象となるカテゴリーのタクソノミー名(category)とスラグ(news)を挿入してタームIDを取得。
「get_categories」に上記タームIDを挿入して対象となるカテゴリーの子カテゴリーのみを取得しています。

また、全親カテゴリーごとに子カテゴリーを連動して呼び出す場合は以下

PHP

$terms = get_terms('category', array('parent' => 0));
foreach($terms as $term){
	echo '<li><a href="'.get_category_link($term->term_id).'">'.$term->name.'</a></li>';

	$children = get_terms('category', array('parent' => $term->term_id));
	foreach($children as $child){
		echo '<li><a href="'.get_category_link($child->term_id).'">'.$child->name.'</a></li>';
	}	

}

親カテゴリーのみを取得する処理の中に子カテゴリーの取得処理を追加しています。

同一カテゴリーの記事