へっぽこコーダーの備忘録

phpやらjavascriptやら、使った技術をすぐに忘れちゃうから、おぼえがき程度に書いていきまーす
2017.12.22

WordPressのカテゴリーページでカテゴリー名やslugを取得したい!

単刀直入に!カテゴリー情報の取得コード

このコードでカテゴリー情報を取得できます☆

<?php
	$cat_id = get_queried_object_id(); /* カテゴリーIDを取得 */
	$category = get_category($cat_id); /* カテゴリーIDからカテゴリー情報を取得 */
	$category_name = $category->name;
	$category_slug = $category->slug;
?>

上の例だと、$category_nameはカテゴリー名、$category_slugはカテゴリーのスラッグを取得しています。

$category->○○;

この○○の部分を変えることで色んなカテゴリ情報をゲットできちゃいます^^

○○の種類については、WordPressのサイトで説明してくれてますので必要があればご覧ください☆

『get_the_category()』じゃダメなの?

$category = get_the_category();

get_the_category()を使用すると、カテゴリーIDを指定しなくても、直接カテゴリ情報を取得できて便利ですよね^^
じゃぁ、get_the_category()を使っちゃえばって話なんですけど、どうやらget_the_category()はシングルページ(記事ページ)で使うのが正しいようです。
カテゴリーページなどの一覧ページで使っちゃうと、複数のカテゴリーを持った投稿が含まれてた場合に、その複数のカテゴリー情報を全部取得しちゃうから、一覧ページと関係ないカテゴリーまで混じっちゃうみたいなんです。

まとめ

なので、結論として、カテゴリーページでカテゴリ情報を得たい場合は、

<?php
	$cat_id = get_queried_object_id();
	$category = get_category($cat_id);
?>

このコードを使っちゃいましょう^^
そんなに長いコードじゃないので簡単ですしね☆