[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です。