我有一个运行良好的WP_Query:
$args = array(
'post_type' => 'product',
'meta_key' => 'product_subtype',
'meta_value'=> 'public',
'compare' => '='
);
但是当我想搜索多个meta_keys时,我尝试了’array’ – 语法:
$args = array(
'post_type' => 'product',
'meta_query' => array(
array(
'meta_key' => 'product_subtype',
'meta_value' => 'public',
'compare' => '='
),
),
);
但它不起作用 – 它给了我所有帖子’post_type’=’product’ – 虽然它是完全相同的请求.我不知道为什么.有人可以指出错误吗?
我按以下方式执行查询(就像在我找到的所有教程中都说的那样)
$the_query = new WP_Query( $args );
就像我说的,第一种方式有效,我只得到“product_subtype = public”的产品,第二种方式忽略元查询数组.
但为什么?
最佳答案 如评论中所述,您错误地使用了WP_Query.没有大错,但是如果你经历了
Codex for WP_Query,你会注意到meta_query数组在没有meta_前缀的情况下使用.
因此,如果从查询中删除meta_前缀,它将按预期工作.