WordPressでカテゴリー情報を取得する方法

ここでは、個別記事ページで現在の記事が属しているカテゴリー情報の取得方法と、カテゴリーアーカイブページでのカテゴリー情報の取得方法を説明します。

カテゴリーIDの取得方法

現在の記事が属しているカテゴリーIDを取得

個別記事ページで現在の記事が属しているカテゴリー情報を取得するには、 get_the_category を使います。記事が属するカテゴリーが一つの場合、

<?php
$category = get_the_category();
$category = $category[0];
$cat_id   = $category->cat_ID;
?>

と記述すると、$cat_id にカテゴリーIDが格納されます。

記事が属するカテゴリーが複数ある場合は、foreach文を使います。例えば、記事が属するカテゴリーIDをカンマで区切って出力するには、

<?php
$categories = get_the_category();
foreach($categories as $category):
echo $category->cat_ID . ',';
endforeach;
?>

のように記述します。

カテゴリーアーカイブページのカテゴリーIDを取得

カテゴリーアーカイブページでは、カテゴリーIDは、 get_query_var を使えば取得出来ます。

<?php $cat_id = get_query_var('cat'); ?>

これだけです。

カテゴリー名、カテゴリースラッグ名を取得する方法

上記した方法で取得したカテゴリーIDを元に、カテゴリー名やカテゴリースラッグも取得可能です。

例えば、カテゴリーID “03” の情報を取得したい場合には get_category を使って、

<?php
$category = get_category(03);
$cat_name = $category->cat_name; //カテゴリー名
$cat_slug = $category->slug;     //カテゴリースラッグ名
?>

と記述すると、カテゴリーID “03” のカテゴリー名、カテゴリースラッグ名を取得出来ます。

また、個別記事ページの場合は上記した get_the_category を使って、

<?php
$category = get_the_category();
$category = $category[0];
$cat_id   = $category->cat_ID; //カテゴリーID
$cat_name = $category->name;   //カテゴリー名
$cat_slug = $category->slug;   //カテゴリースラッグ名
?>

のように記述すれば、カテゴリーIDだけでなく、カテゴリー名、カテゴリースラッグ名も取得出来ます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です