Wordpress

get_the_categoryを使ってwordpressで特定のカテゴリの投稿記事のみに要素を表示する

今見ている記事(wordpressのデフォルトの投稿など)が属するカテゴリーごとにサイドバーの項目の表示を分けたいときや、バナーの表示を変更するのにも使えます。

get_the_category()で投稿記事のカテゴリ関連の情報を取得

get_the_category:WordPress私的マニュアル

まずは、メンバ変数で必要な要素を取り出せる状態にします。

get_the_category()の()内には投稿のIDが入ります。
が、省略した場合は、現在表示している投稿の情報を取得します。

get_the_category返り値のメンバ変数

ひと通り取り出して、変数に代入してみます。

echo ‘

’ . $cat_name . ‘

’;とかで出力します。

pare
例に使った写真の記事→WEBサイトの背景に使えるテクスチャ素材サイト8+1種!

ここで注意したいのが、タクソノミ名を出力するはずの「$cat_taxonomy = $cat->taxonomy」ですが、今回のように、投稿ページの「カテゴリ」に属する場合、かならず、返り値は「category」になるそうです…

その下の「$cat_id = $cat->cat_ID」には、「WEB」というカテゴリのIDが入っています。タームIDやタクソノミIDも同じになっています。ここは今回の目的では判断材料として使いません。

「WEBカテゴリ」に親カテゴリは無いので、関連の情報は空欄もしくは0と表示されます。

今回はスラッグを使って判断します。
「web-design」カテゴリに属する記事にのみバナーを表示したい場合は、以下のように記述します。

実に簡単!
地味な手法ですが、無駄なテンプレートファイルも減ると思うので、細かに使っていきたいものです。

 

でわ!