• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get categories

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

問い合わせパラメータにマッチするカテゴリーのオブジェクトを配列として返します。

問い合わせパラメータの内容は wp_list_categories とほぼ同じで、クエリ文字列形式でも配列形式でも渡すことができます。

使い方

<?php $categories = get_categories( $args ); ?>

パラメータの初期値

<?php 
$args = array(
	'type'                     => 'post',
	'child_of'                 => 0,
	'parent'                   => '',
	'orderby'                  => 'name',
	'order'                    => 'ASC',
	'hide_empty'               => 1,
	'hierarchical'             => 1,
	'exclude'                  => '',
	'include'                  => '',
	'number'                   => '',
	'taxonomy'                 => 'category',
	'pad_counts'               => false 
); 
?>

パラメータ

type 
文字列) 取得するカテゴリーの種別
  • post - 初期値
  • link - 非推奨
注意: WordPress 3.0 から type=link は非推奨になりました。代わりに taxonomy=link_category を使ってください。
child_of 
整数) カテゴリー ID で指定されたカテゴリーの子孫カテゴリー(子カテゴリー、孫カテゴリー、…)を取得します。このパラメータには初期値はありません。このパラメータが指定された場合、hide_empty パラメータは自動的に false にセットされます。
parent 
整数) カテゴリー ID で指定されたカテゴリーの直接の子カテゴリーのみを取得します。このパラメータは 'child_of' パラメータと同じように動作するものではありません。このパラメータには初期値はありません。
orderby 
文字列) 指定した項目のアルファベット順またはカテゴリー ID によってカテゴリーを並べ替えます。初期値はカテゴリー名で並べ替えです。有効値な値は:
  • id
  • name - 初期値
  • slug
  • count
  • term_group
order 
文字列) 並べ替えの種別(昇順または降順)を指定します。デフォルトでの動作は昇順です。有効な値は:
  • asc - 昇順:初期値
  • desc - 降順
hide_empty 
論理値) 記事のないカテゴリーを排除するかどうかを指定します。デフォルトは true を示す 1 (true) で、隠します。false を示す '0' を指定すると、記事のないカテゴリーも含まれるようになります。有効な値は:
  • 1 - 初期値
  • 0
hierarchical 
論理値true が指定された場合、記事のない空の子カテゴリーであっても、さらにその子カテゴリーが空カテゴリーでなければ問い合わせ結果に含めます。初期値は true です。有効な値は:
  • 1 (true) - 初期値
  • 0 (false)
exclude 
文字列) 一つまたは複数のカテゴリーを除外します。このパラメータは、コンマ(,)で区切られた昇順のカテゴリー ID のリストを指定します。用例を参照してください。
include 
文字列) 指定したカテゴリーだけを問い合わせ結果に含めます。このパラメータは、コンマ(,)で区切られた昇順のカテゴリー ID のリストを指定します。用例を参照してください。
参考:空文字列を指定するとすべてのカテゴリーを対象にします。
number 
文字列) 問い合わせ結果として返すカテゴリーの数の上限を指定します。
taxonomy 
(文字列|配列) カテゴリーの代わりに指定したタクソノミーから取得します。このパラメータはバージョン 3.0 で追加されました。有効な値は:
  • category - 初期値
  • (タクソノミー) - 登録済みタクソノミーのいずれか
pad_counts 
論理値) 子カテゴリーを含めて、リンクまたは投稿の数を計算します。有効な値は:
  • 1 (true)
  • 0 (false) - 初期値

戻り値

(配列) 
問い合わせパラメータにマッチしたカテゴリーオブジェクトの配列。

カテゴリーオブジェクトの内容は次のとおりです:

$category->term_id
$category->name
$category->slug
$category->term_group
$category->term_taxonomy_id
$category->taxonomy
$category->description
$category->parent
$category->count
$category->cat_ID
$category->category_count
$category->category_description
$category->cat_name
$category->category_nicename
$category->category_parent

用例

この例は、子カテゴリー(のアーカイブページ)へジャンプするドロップダウンボックスの作成の仕方を示しています。この例は wp_get_archives() の頁に示されている月別アーカイブのドロップダウンボックスの例と対比をなしています。

「ID が 10 でスラッグが "archives" であるカテゴリー」の子カテゴリーのドロップダウンを表示したいと思って、例を読んでください。

<select name="event-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> 
 <option value=""><?php echo esc_attr(__('Select Event')); ?></option> 
 <?php 
  $categories = get_categories('child_of=10'); 
  foreach ($categories as $category) {
  	$option = '<option value="/category/archives/'.$category->category_nicename.'">';
	$option .= $category->cat_name;
	$option .= ' ('.$category->category_count.')';
	$option .= '</option>';
	echo $option;
  }
 ?>
</select>

カテゴリーとその説明を一覧表示する

この例は、カテゴリーをアルファベット順にリンク形式で一覧表示します。リンクはカテゴリーアーカイブへジャンプします。各カテゴリーの説明と記事数がリンクの後に表示されます。

<?php
$args=array(
  'orderby' => 'name',
  'order' => 'ASC'
  );
$categories=get_categories($args);
  foreach($categories as $category) { 
    echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
    echo '<p> Description:'. $category->description . '</p>';
    echo '<p> Post Count: '. $category->count . '</p>';  } 
?>

最上位のカテゴリーのみを取得する

最上位のカテゴリーのみを取得するには parent の値をゼロにします。この例は最上位のカテゴリーのリンクと名前を取得します。

<?php
$args = array(
  'orderby' => 'name',
  'parent' => 0
  );
$categories = get_categories( $args );
foreach ( $categories as $category ) {
	echo '<a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '</a><br/>';
}
?>

変更履歴

  • バージョン 3.0.0 から type=link パラメータは非推奨になりました。
  • バージョン 2.1.0 にて導入されました。

ソースファイル

get_categories() は、 wp-includes/category.php に含まれています。

カテゴリータグ: the_category(), the_category_rss(), single_cat_title(), category_description(), wp_dropdown_categories(), wp_list_categories(), get_the_category(), get_the_category_by_ID(), get_category_by_slug(), get_the_category_list(), get_category_parents(), get_category_link(), is_category(), in_category()


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/get_categories最新版との差分