我正在努力写一个复杂的' WP_Query但它一直都失败了。我使用的meta_query参数是:
$query_args['meta_query'] = array(
"relation" => "AND",
array("relation" => "OR",
array(
'key' => '_htp_hide_trending_posts',
'value' => 'on',
'type' => 'CHAR',
'compare' => '!='
),
array(
'key' => '_htp_hide_trending_posts',
'compare' => 'NOT EXISTS'
)
),
array(
'key' => 'views',
'value' => 0,
'type' => 'NUMERIC',
'compare' => '>'
)
);
_htp_hide_trending_posts
是自定义meta_value。如果我忽略了视图部分并且只是使用OR语句,那么它可以添加ADD关系然后忽略OR关系搜索。我需要两个,因为它需要按视图排序,如果它不在meta_query中,则不起作用。我绕圈子,希望有人能发现一个明显的错误?
答案 0 :(得分:0)
我终于找到了解决方案:
$query_args['meta_query'] = array(
array(
'key' => '_htp_hide_trending_posts',
'compare' => 'NOT EXISTS'
)
);
$query_args['meta_key'] = 'views';
$query_args['meta_compare'] = '>';
$query_args['meta_value'] = '0';
$query_args['orderby'] = array('meta_value_num' => 'DESC');
我不需要OR查询,这似乎可以解决问题。