質問

投稿に関連する用語で条件付きロジックを行う方法を探しています。

基本的に、私は「年齢層」の独自のカスタム分類法を作成し、それらのために3つの用語を作成しました。子供、十代の若者たち、大人...管理エリアで、特定の投稿に適用される用語とページテンプレート内のサイトのフロントエンドで、用語が投稿に関連付けられている場合は特定の画像を表示したいまたは、用語が関連付けられていない場合は別のもの。

誰もがこれの解決策を持っていますか...私は次のコード例が機能すると思いましたが、そうではありません。 (ところで - 私がここでやっていることは、CSSに基づいて画像を変更することです)。

<li id="kids-<?php if ( is_term( 'Kids' , 'age_groups' ) ) {
   echo 'on';
} else {echo 'off';} ?>">Kids Programs</li>
役に立ちましたか?

解決

やあ @netconstructor:

初めにすること、 仮定します あなたのロジックは機能しました、あなたはあなたの例を簡素化するために、あなたがあなたの例を簡素化することができます:

<li id="kids-<?php echo is_term('Kids','age_groups') 
   ? 'on' : 'off'; ?>">Kids Programs</li>

問題はそれのようです is_term() 特定の投稿に関連付けられている場合ではなく、用語が存在するかどうかを確認するために使用されます。あなたが本当に欲しいのはそうだと思います is_object_in_term() (これはあなたがいることを前提としています ループ, 、すなわちそれ $post 適切な値があります):

<li id="kids-<?php echo is_object_in_term($post->ID,'age_groups','Kids') 
   ? 'on' : 'off'; ?>">Kids Programs</li>

PS仮定 is_term() 正しい機能でしたが、実際には 非推奨; term_exists() 交換 is_term();ちょうど参照。

ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top