joppot

コピペで絶対動く。説明を妥協しない

プログラミング

wordpressのget_categoriesでサブカテゴリーを含まないカテゴリー一覧を取得する

投稿日:2016年6月28日 更新日:


vine-1475412_1280

概要

みなさんこんにちはcandleです。今回はカテゴリー一覧にサブカテゴリーを含まない取得の仕方を紹介します。

サブカテゴリーを使用しているサイトの場合、場合によってはサブカテゴリーとトップの階層のカテゴリーを分けて表示している場合があります。その場合カテゴリー一覧にサブカテゴリーは表示する必要がないのです。

前提

自前のテーマがある

カテゴリー一覧を取得する

例えば、以下のようなカテゴリーとサブカテゴリーがあったとします。
all_category

この時サブカテゴリーは「慶応大学」と「早稲田大学」です。
あとはトップレベルのカテゴリーになっています。

適当なファイルに以下を記述します。
私は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"); ?>

category_iii

これで表示すると、「慶応大学」、「早稲田大学」のサブカテゴリーは表示されずトップレベルのカテゴリーが表示されます。
categories

まとめ

うまくいきましたね。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

CakePHPでhelloworld

概要 CakePHPでプログラミングのお約束helloworldを行いましょう。 helloworldとは動作確認も含めた、一番最初に書くプログラムコードです。 だいたいはhello worldと単純 …

React開発環境構築コマンドcreate-react-appが便利すぎたのでまとめてみた

English 日本語 概要 みなさんこんにちはcandleです。 今回はcreate-react-appコマンドを使ってreactの開発環境の構築とhello worldあたりまでやってみたいと思い …

C++のopencvでhelloworld

概要 (追記、2018年11月に書き直しました) みなさんこんにちはcandleです。インストールできたopencvを使ってhelloworldを行いましょう。 opencvでhelloworldとは …

macでreact nativeの環境構築をして、iosアプリのhello worldをする

概要 みなさんこんにちはcandleです。 今回は、react nativeの環境構築をmac上で行い、iosアプリでhello worldをしてみたいと思います。 react nativeはreac …

railsのcoffee scriptをurl判定をして実行をする方法

概要 みなさんこんにちはcandleです。 今回はcoffeescriptを任意のURLで実行する様にする関数を作ります。 というのはrailsは最終的にassetspiplineでjavascrip …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー