多个订单的WP_QUERY不能与ASC和DESC一起使用,有什么问题吗?

时间:2016-05-22 作者:John

我有一个查询,有多个orderby 自定义页面中的参数,我很难访问该页面。查询是返回带有tag-AAAtag-BBB 标签。我想根据DESC order by对其进行排序post_date 但在同一个酒吧日内,按ASC顺序按帖子标题排序。我尝试了以下方法,但不起作用。无论我在orderby中设置的第一个参数是什么,都会赢得排序,而下一个参数似乎根本没有考虑在内。感谢您的帮助。

$args = array(              
\'tag\' => \'tag-AAA,tag-BBB\',     
array (\'orderby\' => array(   \'title\' => \'ASC\', \'post_date\' => \'DESC\') ),
$query = new WP_Query($args);

1 个回复
SO网友:TheDeadMedic

您的代码无效(语法错误,缺少结束数组和分号),并且嵌套不正确-如果要正确缩进代码,可能会出现如下情况:

$args = array(              
    \'tag\' => \'tag-AAA,tag-BBB\',     
    array (
        \'orderby\' => array(
            \'title\' => \'ASC\',
            \'post_date\' => \'DESC\',
        )
    ),
);
查看如何orderby 实际上不是$args? 您需要:

$args = array(              
    \'tag\'     => \'tag-AAA,tag-BBB\', 
    \'orderby\' =>  array(
        \'post_date\' => \'DESC\',
        \'title\'     => \'ASC\',
    ),
);
我也改变了顺序,所以帖子会先按日期排序,then 按标题。

相关推荐

Orderby定制字段不起作用

此代码是按管理页面中的ACF字段排序的。它实际上按自定义字段过滤,但不按顺序排序。字段中的数据是字符串而不是数字,因此我认为orderby meta\\u值是正确的。我确保这个键不是空的,我尝试了所有这些术语(desc、desc、asc、asc)$query->query_vars[\'order\'] function my_author_filter_results($query){ global $pagenow; if ( $pagenow === \