joppot

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

プログラミング

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

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

Pocket

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

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

関連記事

railsのfluent-loggerとdevise gemを使ってユーザーの行動をfluentdサーバに収集する

概要 fluentdと言えば、ビックデータで扱うようなデータを集め出力するサーバですが、これとrailsのfluent-logger gemとdevise gemを組み合わせてユーザーの行動ログをとっ …

wordpressで任意のサブカテゴリー全てをget_categoriesで取得する

概要 みなさんこんにちはcandleです。今回はwordpress開発でよくあるサブカテゴリーを全て取得する方法を紹介します。 カテゴリー一覧をサイドバーに表示したい時があります。この時、get_ca …

Rails pluginを使ったgemの作り方[4](controller helper編)

概要 みなさんこんにちはcandleです。今回はgemの中枢とも言えるhelperの作り方です。 helperというのは様はgemにすることで便利になる関数を作るとというイメージです。 例えば、con …

pythonのpipでfabricをインストールする

概要 みなさんこんにちはcandleです。今回はpipでデプロイメントツールのfabricをインストールしたいと思います。 前提 pipがインストールされている

wordpressのbogoでサイトで使用する言語を「en-US」から「en」に変更する方法

English 日本語 概要 みなさんこんにちはcandleです。 今回はbogoプラグインのカスタマイズです。bogoはwordpressのサイトを簡単に他言語に対応することができる素晴らしいプラグ …

  • English
  • 日本語

プロフィール


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

twitter

スポンサードリンク

アーカイブ