こんばんは!最近メモ的に更新を始めましたWordPress小技集ですが、
今回は「現在のカテゴリ名を取得する」に挑戦したいと思います!

現在のカテゴリと書いておりますが、何故に「現在の」が必要になるか考えていきましょう。

カテゴリ名の取得

まず、普通にカテゴリ名を取得するだけであれば以下で可能です。

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

  echo $cat_name;
?>

調べるとほとんどがこのパターン。

現在のカテゴリ名の取得

例えば以下の場合。

  • 複数のカテゴリを選択している
  • カテゴリが親子関係になっている

このケースの場合、get_the_category()を使うと付随する全カテゴリ情報が取得されます。
で、$category[0]->cat_nameで表示させようとするも、カテゴリがID順(多分ID順)で並んでいるので、思っているカテゴリ名が取れなかったりするわけです。。。

こういった時に、現在のカテゴリは実際何なの??というのを取得できれば上手く表示させられます。

やり方はいたって簡単!!

<?php
  $current_cat = get_queried_object();
  $cat_name = $current_cat->name;

  echo $cat_name;
?>

get_the_category()ではなく、get_queried_object()というのを使えば解決!
返り値はcat_nameではなく、nameなのでご注意を・・・

これで無事現在のカテゴリ情報を取得することが出来ました!!

以上、サクッと小技集-現在のカテゴリ名を取得する-でしたっ!