Php WordPress-WP_查询将结果限制为具有完全相同值的帖子
在我的一个自定义帖子类型中,我的自定义分类法面临一些问题:我有一个页面,用于检索与页面具有相同分类法字段的自定义帖子 例如,页面和CPT之间共享的自定义分类法之一是“categorie”。在WP_查询中使用tax_查询字段,我可以检索与我的页面具有相同类别字段的帖子,但我似乎无法找到如何获取具有完全相同值的帖子 以下是一些视觉效果,以防您感到困惑: 因此,它们都检查了“chaufage”值,没有其他值 假设现在我有另一个自定义帖子,它选中了“chaufage”,但也选中了“sanitaire”。我如何告诉我的WP_查询不检索它 我尝试在我的tax_查询数组中使用运算符“AND”(因为默认情况下它是“IN”),但它不起作用 我现在的想法是检索所有分类法值,并说未经检查的值使用“NOT IN”操作符,我想如果我能够做到这一点,这将起作用。我只能获取选中的项,即使使用“hide\u empty”设置为0的wp\u get\u post\u术语 这是我的密码:Php WordPress-WP_查询将结果限制为具有完全相同值的帖子,php,wordpress,Php,Wordpress,在我的一个自定义帖子类型中,我的自定义分类法面临一些问题:我有一个页面,用于检索与页面具有相同分类法字段的自定义帖子 例如,页面和CPT之间共享的自定义分类法之一是“categorie”。在WP_查询中使用tax_查询字段,我可以检索与我的页面具有相同类别字段的帖子,但我似乎无法找到如何获取具有完全相同值的帖子 以下是一些视觉效果,以防您感到困惑: 因此,它们都检查了“chaufage”值,没有其他值 假设现在我有另一个自定义帖子,它选中了“chaufage”,但也选中了“sanitaire
$page_id = $wp_query->get_queried_object()->ID;
$page_category = wp_get_post_terms($page_id, 'categorie', array(
'hide_empty' => 0
));
// var_dump($page_category);
$page_client = wp_get_post_terms($page_id, 'client', array(
'hide_empty' => 0
));
if($page_category) {
$buffer = array();
foreach ($page_category as $category) {
array_push($buffer, $category->slug);
}
$page_category = $buffer;
}
// var_dump($page_client);
if($page_client) {
$buffer = array();
foreach ($page_client as $client) {
array_push($buffer, $client->slug);
}
$page_client = $buffer;
}
$tax_query = array(
'relation' => 'AND'
);
array_push($tax_query, array(
'taxonomy' => 'categ_article_activite',
'field' => 'slug',
'terms' => $page_category,
'operator' => 'AND'
));
// var_dump($page_client);
array_push($tax_query, array(
'taxonomy' => 'client_article_activite',
'field' => 'slug',
'terms' => $page_client,
'operator' => 'AND'
));
// var_dump($tax_query);
$args = array(
'post_type' => 'article_activite',
'meta_key' => '_article_principal',
'posts_per_page' => 1,
'meta_value' => 'on',
'tax_query' => $tax_query,
'order' => 'ASC'
);
$query = new WP_Query($args);
编辑:我忘了提到,我也考虑过对我不想检索的值使用“NOT IN”操作符,但由于将要使用网站的用户可能会添加分类值,因此需要在代码中添加此特定值,这不是一个选项