问题描述
说我有以下分类术语:
Term 1
Term 1.1
Term 1.2
Term 2
Term 2.1
如何获得分配到术语 1 的职位,不包括分配到术语 1.1 或术语 1.2 的职位?
例如:
$pages = get_posts(array(
'post_type' => 'page',
'numberposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'taxonomy-name',
'field' => 'id',
'terms' => 1 // Where term_id of Term 1 is "1".
)
)
);
还给了我分配了条款 1.1 和 1.2 的帖子。
谢谢。
最佳解决方案
在查看/wp-includes/taxonomy.php 中的 WP_Tax_Query 类时,我发现有一个默认为 true 的’include_children’ 选项。我修改了我原来的 get_posts() 调用与以下,它的工作原理:
$pages = get_posts(array(
'post_type' => 'page',
'numberposts' => -1,
'tax_query' => array(
array(
'taxonomy' => 'taxonomy-name',
'field' => 'id',
'terms' => 1, // Where term_id of Term 1 is "1".
'include_children' => false
)
)
));
更多查询参数列表:http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。