万が一、当サイトで重大な問題を発見した際などは、フォーラムや WordSlack #docs チャンネルでお知らせください。</p>
テンプレートタグ/get the category
目次
説明
オブジェクト(カテゴリー)の配列を返します。各オブジェクトは現在の投稿が属するカテゴリーを表します。 このタグはパラメータとして投稿 ID を渡すことで、ループの外でも使うことができます。
このテンプレートタグは、デフォルトの "category" タクソノミーに含まれる結果のみを返します。 カスタムタクソノミー(カスタム分類)の場合は get_the_terms を使ってください。
使い方
<?php get_the_category( $id ); ?>
パラメータ
- $id
- (整数) (オプション) 投稿 ID。
- 初期値: $post->ID (現在の投稿の ID)
用例
全てのカテゴリーをリンクで表示
投稿に付けられた全てのカテゴリーをリンク形式で表示します。 この例はループの中で使わなければなりません。 なお、get_the_category_list() を使っても同じことができます。
<?php $categories = get_the_category(); $separator = ' '; $output = ''; if ( $categories ) { foreach( $categories as $category ) { $output .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">' . $category->cat_name . '</a>' . $separator; } echo trim( $output, $separator ); } ?>
カテゴリーの画像を表示
次の例は cat_ID を画像のファイル名に使ってカテゴリーの画像を表示します。 また、画像の alt 属性に cat_name を設定します。 他のメンバー変数を代わりに使うこともできます。
<?php foreach( ( get_the_category() ) as $category ) { echo '<img src="http://example.com/images/' . $category->cat_ID . '.jpg" alt="' . $category->cat_name . '" />'; } ?>
先頭のカテゴリーの名前のみ表示
カテゴリーオブジェクトの配列の先頭要素([0]
)を出力します。
<?php $category = get_the_category(); echo $category[0]->cat_name; ?>
カテゴリー名をカテゴリーアーカイブのページへリンクさせるには次のコードを使います。
<?php $category = get_the_category(); if ( $category[0] ) { echo '<a href="' . get_category_link( $category[0]->term_id ) . '">' . $category[0]->cat_name . '</a>'; } ?>
ループの外で投稿のカテゴリーを取得
<?php global $post; $categories = get_the_category( $post->ID ); var_dump( $categories ); ?>
戻り値
- (配列)
- カテゴリーのオブジェクトの配列
返されるオブジェクトのメンバー変数
- term_id
- (整数) カテゴリー ID
- name
- (文字列) カテゴリー名
- slug
- (文字列) カテゴリーのスラッグ
- term_group
- (整数) カテゴリーのグループ
- term_taxonomy_id
- (整数) カテゴリーのタクソノミー ID
- taxonomy
- (文字列) タクソノミー名
'category'
- description
- (文字列) カテゴリーの説明
- parent
- (整数) 親カテゴリーの ID
- count
- (整数) カテゴリーに登録されている投稿の数
- object_id
- (整数) オブジェクト ID
- cat_ID
- (整数) カテゴリー ID (term_id にも同じ値が入る)
- category_count
- (整数) カテゴリーに登録されている投稿の数(count にも同じ値が入る)
- category_description
- (文字列) カテゴリーの説明(description にも同じ値が入る)
- cat_name
- (文字列) カテゴリー名(name にも同じ値が入る)
- category_nicename
- (文字列) カテゴリースラッグ名 - カテゴリー名から生成されたスラッグ(slug にも同じ値が入る)
- category_parent
- (整数) 親カテゴリーの ID - 親がなければ 0 が入る(parent にも同じ値が入る)
参考
- get_the_category() は get_the_terms() を経由して wp_get_object_terms() を使用します。そして wp_get_object_terms() は sanitize_term() または sanitize_term_field() を呼び出し、その中で下記のメンバー変数が整数型に変換されます:
- term_id, term_group, term_taxonomy_id, parent, count, および object_id
- バージョン 2.3 より前のカテゴリーオブジェクトと互換性を持たせるため、get_the_category() は _make_cat_compat() を使います。これにより下記のメンバー変数に適切な値が入ります:
- cat_ID, category_count, category_description, cat_name, category_nicename, および category_parent
変更履歴
- バージョン 0.71 から導入されました。
ソースファイル
get_the_category() は wp-includes/category-template.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 the category (最新版との差分)