我正在试着写一个“复杂”的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中,它就不起作用。我在转圈,希望有人能发现一个明显的错误?
发布于 2015-03-25 06:12:59
我终于想出了一个解决方案:
$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查询,因为它似乎可以解决这个问题。
https://stackoverflow.com/questions/29153827
复制相似问题