我修改过Wordpress查询。
我需要排除三个值,但无法弄清楚如何做到这一点。我看过很多人传递多个值来匹配但不排除。我在几个小时内尝试了几件事。
$popularpost = new WP_Query( array( 'posts_per_page' => '12',
'cat' => $cat_id,
'posts_type' => 'post',
'paged' => $paged,
'meta_key' => 'post_price',
'meta_value' =>'SWAP', 'FREE', 'WANTED',
'meta_compare' => '!=',
非常感谢任何帮助。
答案 0 :(得分:1)
这里有一个问题:
'meta_value' =>'SWAP', 'FREE', 'WANTED',
在这种情况下,meta_value
设置为SWAP
。 FREE
和WANTED
只是数组中的单独条目。像这样写出你的代码揭示了问题:
array(
'posts_per_page' => '12',
'cat' => $cat_id,
'posts_type' => 'post',
'paged' => $paged,
'meta_key' => 'post_price',
'meta_value' => 'SWAP',
'FREE',
'WANTED',
'meta_compare' => '!=',
...
)
我认为这就是你想要的:
'meta_value' => array('SWAP', 'FREE', 'WANTED'),
答案 1 :(得分:1)
我能够使这个工作,以及我使用的代码,以防任何人感兴趣
$popularpost = new WP_Query( array( 'posts_per_page' => '12',
'cat' => $cat_id,
'posts_type' => 'post',
'paged' => $paged,
'meta_key' => 'post_price',
'meta_query' => array(
array(
'key' => 'post_price',
'value' => 'SWAP',
'compare' => '!='
),
array(
'key' => 'post_price',
'value' => 'FREE',
'compare' => '!='
),
array(
'key' => 'post_price',
'value' => 'WANTED',
'compare' => '!='
)
),
) );