get_categories() カテゴリー情報を取得する:WordPress
wp_list_categories() でカテゴリーリストを表示するという記事を書きましたが
今回はget_categories() を使ってカテゴリーリストを表示する方法をメモ
まず、wp_list_categories() とget_categories()の違いは、
wp_list_categories()の場合はデフォルトだと強制的に
<li class="cat-item cat-item-ID">カテゴリ名</li>
のようにタグが入ってしまいますので、単純にリスト表示させたいときは良いのですが
カテゴリーリストの表示をカスタマイズしたいときにちょっと不便です。
なので、カスタマイズしたいとき使うのが
get_categories()
です。
get_categories()の使い方
まず、例えばカテゴリーリストをID順に
<p> カテゴリー名1<br /> <span>カテゴリー説明文</span> </p> <p> カテゴリー名2<br /> <span>カテゴリー説明文</span> </p> ・ ・ ・
のようにカテゴリーリストを表示させたい場合は、
表示したい部分に
<?php
$categories=get_categories('orderby=id');
foreach($categories as $category) {
echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . $category->name . '" ' . '>' . $category->name . '<br /><span' . $category->description .'</span></a></p>';
}
?>
のように記述すればOK
簡単に説明すると
$categories=get_categories(‘orderby=id’);
の部分はカテゴリーリストをID順で取得
※’orderby=id’の部分はパラメータ使用
それをforeachであるだけ回すといった感じで、
それぞれ表示させたいプロパティは
get_category_link( $category->term_id ) ・・・カテゴリーリンクURL
$category->name・・・カテゴリー名
$category->description・・・カテゴリー説明
のような感じで
$category->プロパティ
という書き方をします。
パラメータ一覧
| orderby | ソート対象を示すcount、name、slug、term_group、none、idなど(省略時は’name’) |
|---|---|
| order | ソート順を示すASCかDESC(省略時はDESC) |
| hide_empty | 投稿記事がないカテゴリーを取得しない場合はtrue(1)、投稿記事がないカテゴリーも取得する場合はfalse(0)を指定(省略時はtrue) |
| exclude | 取得したくないカテゴリーのID(複数指定する場合は,で区切る) |
| exclude_tree | 取得したくないカテゴリーのID(複数指定する場合は,で区切る)。指定されたIDのカテゴリーが子カテゴリーを持っている場合、それらの子カテゴリーも除外される。 |
| include | 取得したいカテゴリーのID(複数指定する場合は,で区切る) |
| number | 取得件数(省略時は条件にマッチするすべてを取得する) |
| offset | 取得開始位置(省略時は0:先頭) |
| fields | 情報項目を示すall、count、ids、namesなどを指定(省略時はall) |
| slug | 取得したいカテゴリーのスラッグを指定 |
| hierarchical | true(1)またはfalse(0)を指定(省略時はtrue) |
| search | 取得したいカテゴリーの名前(その一部)を指定 |
| name__like | 取得したいカテゴリーの名前の先頭部分を指定 |
| pad_counts | 子カテゴリーの投稿件数を親カテゴリーに加算する場合はtrue(1)を指定(省略時はfalse) |
| get | すべてのカテゴリー情報を取得する場合にallを指定 |
| child_of | カテゴリーのIDを指定(そのIDのカテゴリーの子孫がすべて対象となる) |
| parent | カテゴリーのIDを指定(そのIDのカテゴリーの子カテゴリーのみが対象となる) |
プロパティ一覧
| term_id | カテゴリID |
|---|---|
| name | 名前 |
| slug | スラッグ |
| term_group | グループID |
| term_taxonomy_id | タクソノミーID |
| taxonomy | タクソノミー名。カテゴリーの場合は必ず’category’となる |
| description | 説明 |
| parent | 親カテゴリーID。親カテゴリーがない場合は0 |
| count | 投稿数 |
| cat_ID | カテゴリーID(term_idのエイリアス) |
| category_count | 投稿数(countのエイリアス) |
| category_description | 説明(descriptionのエイリアス) |
| cat_name | カテゴリー名(nameのエイリアス) |
| category_nicename | ナイスネーム(slugのエイリアス) |
| category_parent | 親カテゴリーID(parentのエイリアス) |
参考サイト
WordPressのおすすめ参考書
bookfan 1号店 楽天市場店
¥3,300 (2026/01/04 15:36時点 | 楽天市場調べ)

