「特定のターム」に属する場合の条件分岐はhas_term()で

ワードプレスPHPカスタム投稿タイプサブループタクソノミータグ、カテゴリータームテンプレートタグ

同じ間違いを何度も繰り返すのでメモ。

 

特定のタームに属する場合の条件分岐。

「is_term()」とか「in_term()」とか書くと、「重大なエラーがあるよ!」って騒がれるので注意。

if( has_term( 'ターム', 'タクソノミ' ) ){
	'特定のタームを持つ場合の処理';
}

タームの指定は、id・slug・name。

使用例

  • タクソノミ「information_cat」
  • ターム「faq」

「faqに属しているか、faqの子タームに属している場合、日付を非表示にする」

$ex_tax = 'information_cat';
$ex_term = 'faq';
$ex_term_id = get_term_by( 'slug', $ex_term, $ex_tax )->term_id;
$ex_term_child_id = get_term_children( $ex_term_id , $ex_tax );
if( has_term( $ex_term_id, $ex_tax ) || has_term( $ex_term_child_id, $ex_tax ) ){
	$meta_class = ' date-display-false';
}else{
	$meta_class = ' date-display-true';
}

メインループ/サブループのループ中に差し込むか、single.phpのどこかに書いてください。