是否可以在 WordPress 中测试空术语或类别?

Is it possible in WordPress to test for an empty term or category?

我有一个项目要求我列出每个自定义 post 类型的可用术语,并通过 css/javascript 直观地指示哪些 terms/categories 是空的。有没有办法 return 一个 terms/categories 的列表,然后在空列表中添加一个 class ?感谢您提供的所有帮助。

是的。首先,您使用 get_terms() 获取术语(我假设您的 cpt 与它相关联)

<?php 

$custom_terms = get_terms('my_taxonomy');

if (is_array($custom_terms) && !empty($custom_terms)) {
    # code what you want here...
} else{
    # code if your terms come empty...
}

这应该可以做到。

编辑

$custom_terms 变量后执行 print_r($custom_terms); 以查看变量包含的内容。您应该得到一个包含 stdClass Object 的数组,一个对应于该分类法中的每个类别。

所以你可以进一步做这样的事情:

foreach ($custom_terms as $term) {
    if ($term->count != 0) {
        print_r($term->name);
    }
}

这将显示您的分类中非空类别的名称。

下面是如何查询带有 WP_Term_Query class 的术语(以补充 dingo_d 的答案):

$args = array(
 'taxonomy'   => 'my_taxonomy',
 'hide_empty' => false
);
$custom_terms = new WP_Term_Query($args);

那么,这就是如何遍历条款:

foreach($custom_terms->terms as $term){
    if ($term->count != 0) {
        print_r($term->name);
    }
}

这是一篇关于为什么您现在应该使用 WP_Term_Query 的非常简短的文章:

https://medium.com/vunamhung/say-goodbye-to-get-terms-use-wp-term-query-db774df6d9ea