我正在寻找一种方法,对与帖子相关的术语进行一些条件逻辑。
基本上,我为“年龄组”创建了自己的自定义分类法,并为它们创建了三个术语。孩子,青少年,成年人。。。在管理区域,我想检查适用于特定帖子的条款,如果条款与帖子关联,我想在页面模板内的网站前端显示特定图像,如果条款未关联,则显示不同的图像。
有没有人能解决这个问题。。。我原以为下面的代码示例可以工作,但事实并非如此。(顺便说一句,我在这里做的是根据css更改图像)。
<li id="kids-<?php if ( is_term( \'Kids\' , \'age_groups\' ) ) {
echo \'on\';
} else {echo \'off\';} ?>">Kids Programs</li>
最合适的回答,由SO网友:MikeSchinkel 整理而成
你好@NetConstructor:
首先,假设逻辑正常,可以使用三元运算符简化示例:
<li id="kids-<?php echo is_term(\'Kids\',\'age_groups\')
? \'on\' : \'off\'; ?>">Kids Programs</li>
问题似乎是
is_term()
用于检查术语是否存在,而不是是否与特定帖子关联。我想你真正想要的是
is_object_in_term()
(假设您在The Loop, i、 e.那$post
具有适当的值):<li id="kids-<?php echo is_object_in_term($post->ID,\'age_groups\',\'Kids\')
? \'on\' : \'off\'; ?>">Kids Programs</li>
P.S.假设
is_term()
是正确的功能,实际上
deprecated;
term_exists()
替换
is_term()
; 仅供参考。