获取自定义分类下的帖子类别

时间:2019-12-05 作者:darkflamemaster

我有一个具有以下分类法的CPT:category、taxonomy\\u 1和taxonomy\\u 2(后两个是非层次的)。

我希望以编程方式获取“类别”分类法的所有术语,但仅获取具有给定元值的帖子的术语-该元值存储另一个分类法的ID(taxonomy_2).

所以应该是:类别->帖子->特定元值

我尝试了以下方法,但没有成功:

$args = array(
    \'meta_query\' => array(
        \'key\'       => \'taxonomy_key_in_CPT\',
        \'value\'     => \'value_of_taxonomy_key_in_CPT\',
        \'compare\'   => "=",
    )
)

$categories = get_categories( $args );
但这仍将返回CPT下的所有类别。我在做什么有趣的事吗?

1 个回复
SO网友:jdm2112

欢迎使用WPSE。我相信你正在寻找get_terms() 作用这将返回特定分类法的所有术语,而不是帖子。

在参数数组中传递分类法slug,并设置hide_empty 设置为false,这样就可以得到一个完整的列表,如下所示:

$terms = get_terms( array(
    \'taxonomy\' => \'taxonomy_1\',
    \'hide_empty\' => false,
) );
完整文档可参见代码参考:https://developer.wordpress.org/reference/functions/get_terms/