[WordPress] ある子カテゴリーの名前とリンクをリスト形式で表示したい
投稿の子カテゴリーを一覧表示するときのサンプルコードです。
親子関係を持った複数のカテゴリーがあるときに、ある特定の子カテゴリーだけ一覧化したいといったケースがあります。
カテゴリー情報を取得する「get_categories」関数にパラメーターを設定することで、特定のカテゴリーに絞り込んだ情報取得が可能になります。
サンプルコード
<?php
$category = get_category_by_slug('category_xxx');
$args = array(
'child_of' => $category->term_id,
'orderby' => 'count',
'order' => 'desc'
);
$categories = get_categories($args);
if(!empty($categories)) {
echo '<ul>';
foreach($categories as $category) {
$link = get_category_link($category->term_id);
echo '<li><a href="'. $link .'">'. $category->name .'</a></li>';
}
echo '</ul>';
}
?>
サンプルコードの解説
$category = get_category_by_slug('category_xxx');
$args = array(
'child_of' => $category->term_id,
'orderby' => 'count',
'order' => 'desc'
);
$categories = get_categories($args);
「get_category_by_slug」関数を使って、リスト表示したいカテゴリーの情報を取得します。
このカテゴリーのidを「get_category_link」関数のパラメーター「child_of」に設定することで、そのカテゴリー配下にあるカテゴリーが取得できます。
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。