订阅汇聚素材网Feed

orderby在WordPress中的用法

WP_Query 的 orderby 参数用于告诉获取的 Posts 是基于哪列进行排序的,默认是 post_date,并且 WP_Query 的默认排序顺序是降序,就是最新发布的日志排在前面。

WP_Query 的 orderby 基本用法

$q = new WP_Query( array( 'orderby' => 'post_title' ) );

或者:

$q = new WP_Query( array( 'orderby' => 'title' ) );

这两段代码都会生成如下的 SQL:

ORDER BY post_title DESC

 

WP_Query 的 orderby 高级用法

orderby 还可以接受有空格分开的多列:

$q = new WP_Query( array( 'orderby' => 'title author' ) );

在 4.0 之前,上面的代码会有问题,order 的值只会就加到 orederby 语句的最后,所以生成的 SQL 会这样子:

ORDER BY post_title, post_author DESC

因为 MySQL 默认的排序顺序是 ASC(升序),所以上面语句的结果就会和我们预期的不同,我们希望是按照标题降序,然后按照作者降序,而实际是按照标题升序,然后按照作者降序。

所以到 4.0,WordPress 修正了这个问题,如果你输入用空格分开的多列,每个列后面都会加入排序顺序,并且 4.0 还可以让你控制每列的排序顺序,我们可以通过传递一个数组给 WP_Query 的 orderby 参数:

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

生成的 SQL:

ORDER BY post_title DESC, menu_order ASC
11 人Likes
  

文章转载请注明:orderby在WordPress中的用法-汇聚素材网

本文固定链接:http://www.webhj.com/hj-1720.html  +复制链接

orderby在WordPress中的用法:等您坐沙发呢!

发表评论

*

*

4 + 8

快捷键:Ctrl+Enter
0全站搜索 1 设计 2 素材 3 教材 4 WEB 5 电子书籍