我想输出自定义分类法中的所有术语,同时向附加到当前帖子的任何术语添加一个类。
我在每个贴子页面上显示的自定义快捷码中执行此操作。
我使用get\\u terms()显示分类法中的所有术语,但我无法确定如何检查每个术语是否附加到当前帖子。
$terms = get_terms( array(
\'taxonomy\' => \'package\',
\'hide_empty\' => false
) );
if (!empty($terms) && ! is_wp_error( $terms )) {
echo \'<ul>\';
foreach ($terms as $term) {
echo \'<li>\' . $term->name . \'</li>\';
}
echo \'</ul>\';
}
最合适的回答,由SO网友:Sally CJ 整理而成
如何检查每个术语是否附加到当前职位
您可以使用has_term()
它默认检查主循环中的当前post,因此可以省略第三个参数(post ID)。
例如,在您的案例中:
$class = has_term( $term->term_id, $term->taxonomy ) ? \'active\' : \'\'; // like this
//$class = has_term( $term->term_id, \'package\' ) ? \'active\' : \'\'; // or this
echo \'<li class="\' . $class . \'">\' . $term->name . \'</li>\';