投稿のsingle記事の属するカテゴリー表示

投稿のsingle記事の属するカテゴリー表示

single_cat_titleはカテゴリーページで使うもの

ワードプレスはこのあたりのタグの使い分けが色々あって、うっかりすると「何故表示しないんだ?」みたいなことになるので(私はよく遭遇する)、覚書です。

投稿の個別記事(single.php)で記事の属しているカテゴリーを表示したいですよね。single_cat_title を使いたくなるのですが、この場合これは使えません。single_cat_titleはカテゴリーページで使うものだからです。(ネーミングがややこしくなる原因かな・・)

かわりに使うのはget_the_categoryです。get_the_categoryは、現在の記事のカテゴリー名、ID、カテゴリースラッグ、説明、親カテゴリーなどの情報をPHPの配列として返してきますので、下記のような使い方をします。

<?php $cats = get_the_category(); foreach($cats as $cat){ echo $cat->name;} ?>

$cat->name の変数は、表示したい内容にすればいいわけです。

$cat_name = $cat->name;
$cat_id = $cat->cat_ID;
$cat_slug = $cat->slug;
$cat_term = $cat->term_id;
$cat_termid = $cat->term_taxonomy_id;
$cat_taxonomy = $cat->taxonomy;
$cat_count = $cat->count;
$cat_description = $cat->category_description;
$parent_id = $cat->category_parent;
$parent = get_category($cat->category_parent);
$parent_catname = $parent->cat_name;