WordPressで現在のカテゴリーのいろいろな情報を取得する方法

WordPressでサイトを構築している時に、現在記事のカテゴリーの取得方法を覚えられないので毎回毎回調べているのですが面倒になってきたので自分用にまとめておこうと思います。

WordPressで現在のカテゴリーの情報を取得する

カテゴリーの配列を取得する

まずは記事が持っているカテゴリーの配列を取得します。

<?php
// 現在の記事のカテゴリーを配列で取得する
$category_array = get_the_category();
?>

上記を実行するとこのような配列を取得することができます。

<?php

// 現在の記事のカテゴリーを配列で取得する
$category_array = get_the_category();

?>

// 取得できる配列
array(1) {
	[0]=>
		object(WP_Term)#5213 (17) {
		["term_id"]=>
		int(1)
		["name"]=>
		string(9) "その他"
		["slug"]=>
		string(5) "other"
		["term_group"]=>
		int(0)
		["term_taxonomy_id"]=>
		int(1)
		["taxonomy"]=>
		string(8) "category"
		["description"]=>
		string(0) ""
		["parent"]=>
		int(0)
		["count"]=>
		int(39)
		["filter"]=>
		string(3) "raw"
		["term_order"]=>
		string(2) "10"
		["cat_ID"]=>
		int(1)
		["category_count"]=>
		int(39)
		["category_description"]=>
		string(0) ""
		["cat_name"]=>
		string(9) "その他"
		["category_nicename"]=>
		string(5) "other"
		["category_parent"]=>
		int(0)
	}
}

取得した配列を表示したい場合は、このように「var_dump()」を使ってください。

<?php

// 現在の記事のカテゴリーを配列で取得する
$category_array = get_the_category();

// 取得した配列の出力
echo '<pre>';
var_dump($category_array);
echo '</pre>';

?>

カテゴリーの名前を取得して表示する

それでは本命の記事のカテゴリー情報を取得して表示します。

表示するには下記のコードを使います。

<?php

// 現在の記事のカテゴリーを配列で取得する
$category_array = get_the_category();

// 取得したいカテゴリーを選択
$category = $category_array[0];

// カテゴリーの名前を取得する
$category_name = $category->name;
echo $category_name;

?>

これで表示されるのは現在の記事が持っているカテゴリーです。

ポイント

カテゴリーを取得する際には配列から取得したいものを選択する必要があります。

ハイライトしているところで配列の1つ目のカテゴリーを選んでいます。

<?php

// 現在の記事のカテゴリーを配列で取得する
$category_array = get_the_category();

// 取得したいカテゴリーを選択
$category = $category_array[0];

// カテゴリーの名前を取得する
$category_name = $category->name;
echo $category_name;

?>

今回はカテゴリーが1つだったので「$category_array[0]」で1つ目のカテゴリーを選択しておけば問題ありませんが、複数あった時には選択する必要があります。

配列的にはこんな感じの場合で…2行目と39行目を見てもらうとわかるのですが取得したい番号を入れてくださいね。

array(2) {
  [0]=>
  object(WP_Term)#7179 (17) {
    ["term_id"]=>
    int(8)
    ["name"]=>
    string(6) "Google"
    ["slug"]=>
    string(6) "google"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(8)
    ["taxonomy"]=>
    string(8) "category"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(0)
    ["count"]=>
    int(7)
    ["filter"]=>
    string(3) "raw"
    ["term_order"]=>
    string(1) "8"
    ["cat_ID"]=>
    int(8)
    ["category_count"]=>
    int(7)
    ["category_description"]=>
    string(0) ""
    ["cat_name"]=>
    string(6) "Google"
    ["category_nicename"]=>
    string(6) "google"
    ["category_parent"]=>
    int(0)
  }
  [1]=>
  object(WP_Term)#7181 (17) {
    ["term_id"]=>
    int(1)
    ["name"]=>
    string(9) "その他"
    ["slug"]=>
    string(5) "other"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(1)
    ["taxonomy"]=>
    string(8) "category"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(0)
    ["count"]=>
    int(39)
    ["filter"]=>
    string(3) "raw"
    ["term_order"]=>
    string(2) "10"
    ["cat_ID"]=>
    int(1)
    ["category_count"]=>
    int(39)
    ["category_description"]=>
    string(0) ""
    ["cat_name"]=>
    string(9) "その他"
    ["category_nicename"]=>
    string(5) "other"
    ["category_parent"]=>
    int(0)
  }
}

カテゴリーの他の情報を取得する

カテゴリーの名前は先ほどの方法で取得することができますが、他の情報をどう取得するかというと…こんな感じになります。

番号を①~⑥まで振っていますが、同じ番号のものは同じ情報が取得できます。(なんで同じ情報が入っているのかはよくわからないです…)

カテゴリーのコードを貼って、不要なものだけを消してしまえば調べる手間を省くことができますね♪

<?php

// 現在の記事のカテゴリーを配列で取得する
$category_array = get_the_category();

// 取得したいカテゴリーを選択
$category = $category_array[0];

// カテゴリーのIDを取得する①
$category_term_id = $category->term_id;
echo $category_term_id;

// カテゴリーの名前を取得する②
$category_name = $category->name;
echo $category_name;

// カテゴリーのスラッグを取得する③
$category_slug = $category->slug;
echo $category_slug;

// カテゴリーのグループを取得する
$category_term_group = $category->term_group;
echo $category_term_group;

// カテゴリーのタームIDを取得する①
$category_term_taxonomy_id = $category->term_taxonomy_id;
echo $category_term_taxonomy_id;

// カテゴリーのタクソノミー名を取得する
$category_taxonomy = $category->taxonomy;
echo $category_taxonomy;

// カテゴリーの説明を取得する④
$category_description = $category->description;
echo $category_description;

// カテゴリーの親カテゴリーIDを取得する⑤
$category_parent = $category->parent;
echo $category_parent;

// カテゴリーの登録数を取得する⑥
$category_count = $category->count;
echo $category_count;

// カテゴリーのオブジェクトIDを取得する
$category_object_id = $category->object_id;
echo $category_object_id;

// カテゴリーのIDを取得する①
$category_cat_ID = $category->cat_ID;
echo $category_cat_ID;

// カテゴリーの登録数を取得する⑥
$category_category_count = $category->category_count;
echo $category_category_count;

// カテゴリーの説明を取得する④
$category_category_description = $category->category_description;
echo $category_category_description;

// カテゴリーの名前を取得する②
$category_cat_name = $category->cat_name;
echo $category_cat_name;

// カテゴリーのスラッグを取得する③
$category_category_nicename = $category->category_nicename;
echo $category_category_nicename;

// カテゴリーの親カテゴリーIDを取得する⑤
$category_category_parent = $category->category_parent;
echo $category_category_parent;

?>

と、こんな感じでまとめましたが最後のコードだけあれば、記事のカテゴリーの情報がカンタンに取得できてしまうのでEvernoteに入れておけばすぐ使うことができるのでぜひごひいきに(笑)

コメントはこちらから

コメントは承認後に表示されます

未入力は匿名になります