こんばんは!最近メモ的に更新を始めました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なのでご注意を・・・
これで無事現在のカテゴリ情報を取得することが出来ました!!
以上、サクッと小技集-現在のカテゴリ名を取得する-でしたっ!