今回紹介するのは、こんなときに便利なカスタマイズです。
- カテゴリーページで、現在表示しているカテゴリーと同じ親を持つ兄弟カテゴリを表示したい
- 親カテゴリーや子カテゴリーは含めたくない
目次
したいこと
イメージとしてはこんな感じです。赤線階層の一覧を取得します。
- カテゴリー-親
- カテゴリー-親
- カテゴリー-子
- カテゴリー-子
- カテゴリー-孫
- カテゴリー-孫
- カテゴリー-孫(ここを見たときに、同じ階層の「カテゴリー-孫」一覧を取得)
- カテゴリー-ひ孫
今回は、どのページでも使用できるように、カテゴリIDは指定しません。
ソースコード
<div>
<?php
global $cat;
$cat_data = get_category( $cat );
$args = array(
'parent' => $cat_data->category_parent, // 自分のすぐ上カテゴリ(カテゴリー-子)の子カテゴリ(カテゴリー-孫)を取得
'orderby' => 'term_order',
);
$categories = get_categories( $args );
?>
<?php foreach( $categories as $category ) : ?>
<a href="<?php echo get_category_link($category); ?>">
<span><?php echo $category->name; ?></span>
</a>
<?php endforeach; ?>
</div>
普通に子カテゴリーを取得すると、ひ孫まで表示されてしまうので、「自分のすぐ上カテゴリ(カテゴリー-子)の子カテゴリ(カテゴリー-孫)を取得」という乱暴な?方法を取っています。
コメント