当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「テンプレートタグ/get the category」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(1 版)
(参考: セクションを新設。)
 
(2人の利用者による、間の5版が非表示)
1行目: 1行目:
* 書式: <?php get_the_category(); ?>
+
<div id="Description">
* 説明: 記事のカテゴリー名、ID、カテゴリースラッグ、説明、親カテゴリーなどの情報をPHPの配列として返す。コード記述例のような形式で変数を使う。
+
== 説明 ==
* 位置: ループ内
+
</div>
* 引数: なし
+
* 変数:
+
** cat_ID - 記事のカテゴリーID。
+
** cat_name - 記事のカテゴリー名。
+
** category_nicename - 記事カテゴリーのカテゴリースラッグ。
+
** category_description - 記事のカテゴリー説明文。
+
** category_parent - 記事の親カテゴリーにあたるカテゴリーのID。親カテゴリーがない場合は「0」を返す。
+
** category_count -カテゴリーが使われている回数。
+
* コード記述例:
+
<pre><nowiki><?php $cat = get_the_category(); $cat = $cat[0]; {
+
  
  echo '<img src="http://example.com/images/' . $cat->category_nicename . '.jpg" alt="' . $cat->cat_name . '" />';
+
オブジェクト(カテゴリー)の配列を返します。各オブジェクトは現在の投稿が属するカテゴリーを表します。
 +
このタグはパラメータとして投稿 ID を渡すことで、[[The Loop|ループ]]の外でも使うことができます。
  
} ?></nowiki></pre>
+
このテンプレートタグは、デフォルトの "category" タクソノミーに含まれる結果のみを返します。
* 出力例:<code><nowiki><img src="http://example.com/images/plugin.jpg" alt="プラグイン" /></nowiki></code>
+
カスタムタクソノミー(カスタム分類)の場合は [[関数リファレンス/get the terms|get_the_terms]] を使ってください。
  
[[en:Template Tags/get_the_category]]
+
<div id="Usage">
 +
== 使い方 ==
 +
</div>
 +
 
 +
<?php get_the_category( $id ); ?>
 +
 
 +
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
 +
 
 +
{{Parameter|$id|整数|投稿 ID。|オプション|$post->ID (現在の投稿の ID)}}
 +
 
 +
<div id="Examples">
 +
 
 +
== 用例 ==
 +
</div>
 +
 
 +
<div id="Show_All_Categories_as_Links">
 +
=== 全てのカテゴリーをリンクで表示 ===
 +
</div>
 +
 
 +
投稿に付けられた全てのカテゴリーをリンク形式で表示します。
 +
この例は[[ループ]]の中で使わなければなりません。
 +
なお、[[テンプレートタグ/get_the_category_list|get_the_category_list()]] を使っても同じことができます。
 +
 
 +
<pre>
 +
<?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 );
 +
}
 +
?>
 +
</pre>
 +
 
 +
<div id="Show_Category_Images">
 +
=== カテゴリーの画像を表示 ===
 +
</div>
 +
 
 +
次の例は <tt>cat_ID</tt> を画像のファイル名に使ってカテゴリーの画像を表示します。
 +
また、画像の <tt>alt</tt> 属性に <tt>cat_name</tt> を設定します。
 +
他のメンバー変数を代わりに使うこともできます。
 +
 
 +
<pre>
 +
<?php
 +
foreach( ( get_the_category() ) as $category ) {
 +
    echo '<img src="http://example.com/images/' . $category->cat_ID . '.jpg" alt="' . $category->cat_name . '" />';
 +
}
 +
?>
 +
</pre>
 +
 
 +
<div id="Show_the_First_Category_Name_Only">
 +
=== 先頭のカテゴリーの名前のみ表示 ===
 +
</div>
 +
 
 +
カテゴリーオブジェクトの配列の先頭要素(<code>[0]</code>)を出力します。
 +
 
 +
<pre>
 +
<?php
 +
$category = get_the_category();
 +
echo $category[0]->cat_name;
 +
?>
 +
</pre>
 +
 
 +
カテゴリー名をカテゴリーアーカイブのページへリンクさせるには次のコードを使います。
 +
 
 +
<pre>
 +
<?php
 +
$category = get_the_category();
 +
if ( $category[0] ) {
 +
echo '<a href="' . get_category_link( $category[0]->term_id ) . '">' . $category[0]->cat_name . '</a>';
 +
}
 +
?>
 +
</pre>
 +
 
 +
<div id="Get_the_Post_Categories_From_Outside_the_Loop">
 +
=== ループの外で投稿のカテゴリーを取得 ===
 +
</div>
 +
 
 +
<pre>
 +
<?php
 +
global $post;
 +
$categories = get_the_category( $post->ID );
 +
var_dump( $categories );
 +
?>
 +
</pre>
 +
 
 +
<div id="Return_Values">
 +
== 戻り値 ==
 +
</div>
 +
 
 +
; <tt>(配列)</tt> : カテゴリーのオブジェクトの配列
 +
 
 +
<div id="Member_Variables_in_Returned_Objects">
 +
==== 返されるオブジェクトのメンバー変数 ====
 +
</div>
 +
 
 +
;term_id
 +
: (整数) カテゴリー ID
 +
 
 +
;name
 +
: (文字列) カテゴリー名
 +
 
 +
;slug
 +
: (文字列) カテゴリーのスラッグ
 +
 
 +
;term_group
 +
: (整数) カテゴリーのグループ
 +
 
 +
;term_taxonomy_id
 +
: (整数) カテゴリーのタクソノミー ID
 +
 
 +
;taxonomy
 +
: (文字列) タクソノミー名 <code>'category'</code>
 +
 
 +
;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|<tt>get_the_category()</tt>]] は <tt>get_the_terms()</tt> を経由して <tt>wp_get_object_terms()</tt> を使用します。そして <tt>wp_get_object_terms()</tt> は <tt>sanitize_term()</tt> または [[関数リファレンス/sanitize term field|<tt>sanitize_term_field()</tt>]] を呼び出し、その中で下記のメンバー変数が整数型に変換されます:
 +
:: term_id, term_group, term_taxonomy_id, parent, count, および object_id
 +
 
 +
* バージョン 2.3 より前のカテゴリーオブジェクトと互換性を持たせるため、<tt>get_the_category()</tt> は <tt>_make_cat_compat()</tt> を使います。これにより下記のメンバー変数に適切な値が入ります:
 +
:: cat_ID, category_count, category_description, cat_name, category_nicename, および category_parent
 +
 
 +
<div id="Changelog">
 +
== 変更履歴 ==
 +
</div>
 +
 
 +
* バージョン 0.71 から導入されました。
 +
 
 +
<div id="Source Code">
 +
== ソースファイル ==
 +
</div>
 +
 
 +
<tt>get_the_category()</tt> は {{Trac|wp-includes/category-template.php}} にあります。
 +
 
 +
<div id="Related">
 +
== 関連項目 ==
 +
</div>
 +
 
 +
{{Tag Category Tags}}
 +
 
 +
{{Tag Footer}}
 +
 
 +
{{原文|Function Reference/get the category|144775}} <!-- 13:25, 9 July 2014 Adamwalter 版 -->
 +
 
 +
{{DEFAULTSORT:Get_the_category}}
 +
[[Category:テンプレートタグ]]
 +
 
 +
[[en:Function Reference/get the category]]

2014年9月3日 (水) 01:06時点における最新版

オブジェクト(カテゴリー)の配列を返します。各オブジェクトは現在の投稿が属するカテゴリーを表します。 このタグはパラメータとして投稿 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最新版との差分