WordPressでカテゴリーを一覧表示する方法

Wordpressでカテゴリーを一覧表示する方法

WordPressで投稿されている記事のカテゴリーを取得して一覧表示する方法です。

下記のコードをカテゴリー一覧を表示したいところに記入します。

<ul>
<?php
 $args = array(
  'orderby' => 'id',
  'order' => 'asc'
 );
 $categories = get_categories( $args );
 foreach( $categories as $category ){
  echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a></li>';
 }
?>
</ul>

WordPress関数であるget_categoriesでカテゴリーを呼び出しています。$argsにはget_categoriesを利用する際のパラメータを設定しています。

取得したカテゴリーは、foreachを使用してリスト形式で出力しています。カテゴリーごとにliタグを生成し、get_category_linkでカテゴリーページへのリンク先のURLを出力します。

取得するカテゴリーの種類や順番はパラメータの設定で変更することができます。例ではorderbyidorderascを設定することで「カテゴリーID順に昇順」で一覧表示しました。他に下記のようなパラメータがあり、表示させる一覧に合わせて設定します。

orderby

指定した項目のアルファベット順またはカテゴリーIDによってカテゴリーを並べ替えます。初期値はカテゴリー名(name)のアルファベット順です。

order 

並べ替えの種別(昇順または降順)を指定します。昇順(asc)が初期値なので降順(desc)にする場合に設定します。

parent

カテゴリーIDで指定されたカテゴリーの直接の子カテゴリーのみを取得します。

child_of 

カテゴリーIDで指定されたカテゴリーの子孫カテゴリーを取得します。

hide_empty 

記事のないカテゴリーを排除するかどうかを指定します。初期値は排除するtrue(1)が設定されているので、記事のないカテゴリーも含まれるようにするためにfalse(0)を指定します。

include

カテゴリーIDで指定したカテゴリーだけを問い合わせ結果に含めます。複数のカテゴリーを選択する場合はコンマ(,)で区切ります。

exclude 

カテゴリーIDで指定したカテゴリーを除外します。複数のカテゴリーを選択する場合はコンマ(,)で区切ります。

number

問い合わせ結果として返すカテゴリーの数の上限を指定します。

その他のパラメータの詳細は下記で確認できます。

関数リファレンス/get categories