WP_Query meta_query参数

时间:2015-03-19 19:58:46

标签: wordpress wp-query

我正在努力写一个复杂的' 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中,则不起作用。我绕圈子,希望有人能发现一个明显的错误?

1 个答案:

答案 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查询,这似乎可以解决问题。