子カテゴリーのみを取得してリストアップする方法
カテゴリーページで、そのカテゴリーに子カテゴリーがある場合、直下の子カテゴリーだけ(孫カテゴリーは含まない)を一覧で表示させるカスタマイズ方法をご紹介します。
例えば、以下のようなカテゴリー構造があったとします。
親カテゴリー
・子カテゴリーA
・子カテゴリーB
・孫カテゴリーA
・孫カテゴリーB
この時、親カテゴリーのページであれば、以下のような一覧が表示されます。
・子カテゴリーA
・子カテゴリーB
子カテゴリーBのページであれば、以下のような一覧が表示されます。
・孫カテゴリーA
・孫カテゴリーB
子カテゴリーA、孫カテゴリーA、孫カテゴリーBのページの場合、直下に子カテゴリーが存在しませんので、一覧は表示されません。
このような一覧を作成したい場合、一覧を表示させたい場所に、以下のコードを記述してやります。
<?php
$categories = get_terms( 'category', array(
'orderby' => 'count',
'hide_empty' => 0,
'parent' => get_query_var('cat'),
) );
foreach($categories as $value):
?>
<p><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?></a></p>
<?php endforeach; ?>
この場合、子カテゴリーの名前にそのカテゴリーページへのリンクがついた一覧が表示されます。
まとめ
WordPressで親カテゴリー直下の子カテゴリーのみを取得する方法をご紹介しました。
このコンテンツで紹介しているコードをコピペだけで行えるカスタマイズです。
あまり利用する機会は多くないかと思いますが、備忘録として残すことにしました。
どなたかの参考になると幸いです。
コメントを残す