如何在查询参数中设置多个`orderby`?

时间:2014-09-03 作者:Nilambar Sharma

我正在尝试通过多次排序获取页面。menu_order 在降序和title 在升序中。论点如下:

$args = array(
 \'post_type\' => \'page\',
 \'posts_per_page\' => 20,
 \'orderby\' => array( \'menu_order\' => \'DESC\', \'title\' => \'ASC\' ),
 );
但它并不像我预期的那样订购,并给出以下警告。

Warning: urldecode() expects parameter 1 to be string, array given in /var/www/html/staging.dev/public_html/wp-includes/query.php on line 2634

我在trac中找到一张关于orderby. 我研究了讨论,并按照讨论中的步骤进行,但未能解决问题。Ticket Link

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

新版本的WordPress中添加了高级订购功能。我是在WordPress 4.0发布后才知道这一点的。

检查this announcement 了解更多详细信息。

Example:

$q = new WP_Query( array( \'orderby\' => array( \'title\' => \'DESC\', \'menu_order\' => \'ASC\' ) ) );

结束

相关推荐

Order posts by category name

有没有办法按类别名称排序帖子?我试过了$args = array( \'post_type\' => \'dlm_download\', \'posts_per_page\' => 10, \'paged\' => $paged, \'order_by\'=> \'cat\', \'order\' => \'ASC\' ); 但它并没有真正起作用,请有人给我一个提示好吗?