ここでは、個別記事ページで現在の記事が属しているカテゴリー情報の取得方法と、カテゴリーアーカイブページでのカテゴリー情報の取得方法を説明します。
カテゴリー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だけでなく、カテゴリー名、カテゴリースラッグ名も取得出来ます。