ミギムキ

[WordPress] 表示中の投稿に特定のターム(タクソノミー)が設定されているかチェックしたい

あるタームが設定されている投稿にだけコンテンツを表示したい、といったケースがあります。

こういった表示中の投稿が特定のタームを持っているかどうかの判定は「has_term」という関数を使うことで簡単に判定することができます。

サンプルコード

if(has_term('term_xxx', 'taxonomy_xxx')) { 〜 }

第一引数にタームのスラッグ名(名前やIDでも可)、第二引数にタクソノミーのスラッグ名(名前やIDでも可)を指定します。

チェックするタームが複数の場合

if(has_term(array('term_xxx', 'term_yyy'), 'taxonomy_xxx')) { 〜 }

複数のタームでチェックしたい場合は、第一引数に配列形式でタームを指定します。

表示中の投稿に特定のカテゴリーが設定されているかチェックしたい

カテゴリーの判定には「has_category」という関数があります。

if(has_category('category_xxx')) { 〜 }

カテゴリーもくくりとしてはタクソノミーの一種ですので「has_term」を使用することもできます。

if(has_term('category_xxx', 'category')) { 〜 }

ご質問など受け付けています

記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。

ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。