WP_QUERY按多个元键和字段排序

时间:2017-08-28 作者:Sevi

如何按多个元键和字段/自定义字段排序查询?

这是我的代码:

$args = array
    (
        \'post_type\' => \'listing\',
        \'posts_per_page\' => -1,
        \'tax_query\' => array
        (
            array
            (
                \'taxonomy\' => \'listing_category\',
                \'field\' => \'slug\',
                \'terms\' => urldecode($category)
            ),
            array
            (
                \'taxonomy\' => \'location\',
                \'field\' => \'slug\',
                \'terms\' => urldecode($location)
            )
        ),

        //*** THIS NOT WORK
        \'meta_query\'    => array
        (
            array(
                \'key\'     => \'listing_status\',
                \'orderby\' => \'meta_value\',
                \'order\' => ASC,
            ),
            array(
                \'key\'     => \'listing_total_rank\',
                \'orderby\' => \'meta_value\',
                \'order\' => DESC,
            ),
            array(
                \'key\'     => \'listing_free_date\',
                \'orderby\' => \'meta_value\',
                \'order\' => ASC,
            ),
            array(
                \'key\'     => \'title\',
                \'orderby\' => \'meta_value\',
                \'order\' => ASC,
            ),
        ),
        //***
    );

$listings = new WP_Query( $args );
的一部分\'meta_query\' 不在代码中工作。

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

您使用的是元查询,没有设置值。你这样做的方式是用来查询帖子,而不是排序。

使用命名元查询按不同的元数据对帖子进行排序,您可以为元查询指定一个名称,然后使用该名称设置排序。下面是一个简单的示例:

$args = array(
    \'meta_query\' => array(
        \'relation\' => \'AND\',
        \'query_one\' => array(
            \'key\' => \'key_one\',
            \'value\' => \'value_one\', // Optional
        ),
        \'query_two\' => array(
            \'key\' => \'key_two\',
            \'compare\' => \'EXISTS\', // Optional
        ), 
    ),
    \'orderby\' => array( 
        \'query_one\' => \'ASC\',
        \'query_two\' => \'DESC\',
    ),
);
您可以检查this 食品法典第页第节WP_Query() 熟悉帖子的排序。

结束

相关推荐

即使使用元查询,Orderby查询也不适用于自定义字段

我编写了以下查询来获取列表,并希望按升序显示名称列表。我刚才想通过meta_key 和meta_value 作为参数,但它不能正确地进行排序。尝试之后meta_query 我仍然被同样的问题困扰着。$connected = new WP_Query( array( \'connected_type\' => \'posts_to_pages\', \'connected_items\' => get_queried_ob