概要
みなさんこんにちはcandleです。今回はカテゴリー一覧にサブカテゴリーを含まない取得の仕方を紹介します。
サブカテゴリーを使用しているサイトの場合、場合によってはサブカテゴリーとトップの階層のカテゴリーを分けて表示している場合があります。その場合カテゴリー一覧にサブカテゴリーは表示する必要がないのです。
前提
自前のテーマがある
カテゴリー一覧を取得する
例えば、以下のようなカテゴリーとサブカテゴリーがあったとします。
この時サブカテゴリーは「慶応大学」と「早稲田大学」です。
あとはトップレベルのカテゴリーになっています。
適当なファイルに以下を記述します。
私はwp-content/themes/mydesign/sidebar-category.php
に記述します。
<h3 class="h4">Categories</h3> <ul class="list-reset"> <?php $parent_category = get_category_by_slug("university"); $args = array( 'type' => 'post', 'parent' => 0, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => FALSE, 'hierarchical' => 0, 'taxonomy' => 'category', ); $child_categories = get_categories($args ); foreach( $child_categories as $category ): ?> <li> <a href="<?php echo get_category_link( $category->term_id ); ?>"> <?php echo $category->cat_name; ?> </a> </li> <?php endforeach; ?> </ul>
試しに、index.phpでこれを読み込んで表示してみます。
index.phpの任意の場所に以下を記述します。
<?php get_sidebar("category"); ?>
これで表示すると、「慶応大学」、「早稲田大学」のサブカテゴリーは表示されずトップレベルのカテゴリーが表示されます。
まとめ
うまくいきましたね。