Wordpress WP_查询meta_查询参数

Wordpress WP_查询meta_查询参数,wordpress,Wordpress,我试图编写一个“复杂”的WP_查询,但一直失败。我使用的meta_查询参数是: $query_args['meta_query'] = array( "relation" => "AND", array("relation" => "OR", array( 'key' => '_htp_hide_trending_posts', 'value' => 'on'

我试图编写一个“复杂”的WP_查询,但一直失败。我使用的meta_查询参数是:

$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' => '>'
        )
    );

\u htp\u hide\u trending\u posts
是一个自定义元值。如果我忽略视图部分,只使用OR语句,则可以添加添加关系,然后忽略OR关系搜索。我需要这两个,因为它需要按视图排序,如果它不在meta_查询中,这就不起作用。我在兜圈子,希望有人能发现一个明显的错误?

我终于想出了一个解决办法:

$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查询,这似乎起到了作用