这将返回一个术语对象数组,如果您需要将这些对象处理为层次结构或其他形式,这很容易,我认为您面临的挑战是获取术语对象。
//get posts
$args = array(
//basic stuff
\'post_status\' => \'publish\',
//meta query
\'meta_query\' => array(
array(
\'key\' => \'your_key\',
\'value\' => \'1\'
)
)
);
$posts = new WP_Query( $args );
//get categories from posts and amalgamate them
$categories = array();
foreach( $posts as $post ) {
$new_cats = wp_get_object_terms( $post->ID, \'your-taxonomy-slug\' );
$categories = array_merge(
$categories,
array_diff(
$categories,
$new_cats
)
);
}
我觉得你们可以做点什么
get_terms
钩子,但我不能把我的手指放在它上面(羞于查询每个术语,看看它是否有符合条件的帖子,但这比我认为的方法效率低)。