我有一个帖子类型,我想添加一些分类法值(标记)
示例Post Type One
- City: 伦敦、巴黎Color: 红色、黄色Language:
在上面的示例中,语言没有任何价值,因此,我想隐藏它。
我有以下代码:
<?php
$lang= get_terms( \'lang\' );
if ( !empty( $lang)) {
echo \'<li><strong>Language:</strong>\';
the_terms( $post->ID, \'lang\', \' \', \', \' );
echo \'</li>\';
}
?>
但是
Language 即使我没有在其上添加任何标记,仍将显示。
最合适的回答,由SO网友:Sumit 整理而成
get_terms()
返回分类法中的所有术语,无论当前帖子是什么。所以如果当前帖子没有lang 条款仍然符合此条件if ( !empty( $lang))
将是true
因此,它将显示文本Language.
使用get_the_term_list
而不是the_terms
它返回术语列表而不是打印,因此输出可用于这两个目的。
示例:-
$lang = get_the_term_list( get_the_ID(), \'lang\', \' \', \', \' );
if ( !empty( $lang)) {
echo \'<li><strong>Language:</strong>\' . $lang . \'</li>\';
}
注:建议使用
get_the_ID()
而不是全局
$post->ID