WordPress – 特定のタームの記事だけ処理を変えたいときの条件分岐

「このタームの記事だけ項目を非表示にできますか?」と言われたとき、すぐにはわからなくてちょっと調べたので、以後すぐ思い出せるようにメモ。




実装

has_term( ‘slug’, $taxonomy );を使えば簡単。
第一引数は対象となるターム、第二引数はそのタームが属するタクソノミーを指定します。

<?php
if( has_term('service','cat_blog') ) {
  // ここに「service」というタームに属する場合の処理を書く
} else {
  // それ以外の場合の処理。
}
?>

 

ただ項目を非表示にするだけでよかったら、

<?php
if( !has_term('service','cat_blog') ) { //"service"に属さない場合
  // 処理を行う
}
?>

これだけでOK。

 

複数のタームを指定したい場合はarray()を使う。

<?php
if( has_term( array('service','shop') ,'cat_blog') ) {
  // ここに「service」もしくは「shop」というタームに属する場合の処理を書く
} else {
  // それ以外の場合の処理。
}
?>

 

タクソノミー関係の分岐ってけっこうややこしいので、「どうやってググったらええかすらわからん!!」ってときは、WordPress Codexを見てみるのが一番早いです。

以下の記事も参考にどうぞ!

WordPress開発が捗る!ブックマークしておくべきCodexまとめ

 

以上、現場からでした。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です