GET_TERMS仅在有帖子使用时才显示术语

时间:2019-01-16 作者:user13286

我有一个自定义的帖子类型,叫做user_images. 我想创建一些过滤器并动态填充下拉列表。我正在使用以下代码:

$post_type = \'user_images\';
$taxonomies = get_object_taxonomies((object) array(\'post_type\' => $post_type));
$terms = get_terms(\'image_categories\');
foreach( $terms as $term ){
  echo $term->name;
}
这正确列出了我的自定义分类法Image Categories 但是,即使没有一个职位指定了这个术语,它也在显示术语。我如何才能只列出与帖子相关的术语以及此特定自定义帖子类型中的术语?

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

get_terms 默认情况下应隐藏空术语,但您可以强制将其设置为hide_empty 参数为true:

$terms = get_terms( array(
    \'taxonomy\' => \'image_categories\',
    \'hide_empty\' => false,
) );

相关推荐

GET_THE_TERMS与wp_GET_POST_TERMS中的奇怪结果

我正在尝试制作一个面包屑函数,但有一个小问题。。。使用时:$categories = get_the_terms( $post->ID, \'product_cat\' ); 我得到了一个循环中使用的类别数组,等等。唯一的问题是它是按字母顺序排列的。(我希望它按层次顺序排列。)经过一番挖掘,我发现了一种替代方法,即使用wp\\u get\\u post\\u terms(),但我肯定遗漏了一些东西,因为当我使用此方法时:$categories = wp_get_post_terms( $p