今回紹介するのは、こんなときに便利なカスタマイズです。
- カテゴリーページで、現在表示しているカテゴリーと同じ親を持つ兄弟カテゴリを表示したい
- 親カテゴリーや子カテゴリーは含めたくない
目次
したいこと
イメージとしてはこんな感じです。赤線階層の一覧を取得します。
- カテゴリー-親
- カテゴリー-親
- カテゴリー-子
- カテゴリー-子
- カテゴリー-孫
- カテゴリー-孫
- カテゴリー-孫(ここを見たときに、同じ階層の「カテゴリー-孫」一覧を取得)
- カテゴリー-ひ孫
今回は、どのページでも使用できるように、カテゴリ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>
普通に子カテゴリーを取得すると、ひ孫まで表示されてしまうので、「自分のすぐ上カテゴリ(カテゴリー-子)の子カテゴリ(カテゴリー-孫)を取得」という乱暴な?方法を取っています。
コメント