我有一个名为“Projecten”的自定义帖子类型,其分类法为“fases\\u Projecten”,其中有“concept”、“inontwikkeling”和“gerealiseerd”。在我的模板中,我使用以下代码来显示七种格式/术语之间的更改。
`<?php if( has_term( \'concept\', \'fases_projecten\' ) ) { ?><div class="status sActiveConcept"><?php } ?>`
对于每个fase,我都有一个不同的openingdiv类,但可能会发生这样的情况:网站的用户忘记选择fase,因为缺少了div的openingtag,所以会把网站搞得一团糟。
所以我想知道是否存在像have no term这样的东西。
我已经试过了
<?php if( has_term( \'\', \'fases_projecten\' ) ) { ?><div class="status"><?php } ?>
当我这样做的时候:
<?php if( has_term( \'concept\', \'fases_projecten\' ) ) { ?><div class="status sActiveConcept"><?php } ?>
<?php elseif( has_term( \'inontwikkeling\', \'fases_projecten\' ) ) { ?><div class="status sActiveDeveloping"><?php } ?>
<?php elseif( has_term( \'gerealiseerd\', \'fases_projecten\' ) ) { ?><div class="status sActiveFinished"><?php } ?>
<?php else( has_term( \'\', \'fases_projecten\' ) ) { ?><div class="status"><?php } ?>
它不会工作,我收到一个服务器错误。
我希望我解释得足够清楚,尽管我的英语不是很好
最合适的回答,由SO网友:s_ha_dum 整理而成
使用get_the_terms()
.
if (false === get_the_terms( $post_id, \'post_tag\' )) {
// has no post tags at all
}
我不确定是否有一个现有的核心函数专门用于测试是否缺少任何术语,包括自定义分类法,但您可以将一组分类法作为第二个参数传递,这意味着您可以使用
get_taxonomies()
要执行的操作:
if (false === get_the_terms( $post_id, get_the_terms( 1, get_taxonomies(\'\',\'names\') ) )) {
// has no post tags at all
}
$post_id
必须设置为要检查条款的帖子ID。