2016-07-26 201 views
2

我已经试过这种方式,但排序依据为了不工作WP_Query类如何在WP_Query中按日期排序?

$posts = new WP_Query(
array(
    'post_type'=> 'block_code', 
    'orderby'=> 'post_date', 
    'order' => 'DESC' 
    ) 
); 

它总是返回排序依据=> 'menu_order'为了= 'ASC'

注意:如果我在URL中使用param作为orderby = date & order = ASC那么它工作正常但我需要作为WP_Query的参数。

在此先感谢

回答

2

您可以在WP_Query()设置多个参数排序依据。像日期冠军menu_order

这里是Order & Orderby Parameters

试试这个例子

$params = array(
    'post_type' =>'block_code', 
    'orderby' => array(
     'date' =>'DESC', 
     'menu_order'=>'ASC', 
     /*Other params*/ 
    ) 
); 
$query = new WP_Query($params); 

这个例子正常工作,我在WP Version_4。x

+0

我已经用这种方式解决了这个问题,谢谢@sumon :) :) – tarikul05

+0

谢谢@ tarikul05 –

0

按照文档显示帖子日期排序,你应该使用date(但默认情况下日期反正)

“排序依据(字符串|数组) - 排序检索到的帖子。默认为'date(post_date)',可以传递一个或多个选项。“与某些类型关联

 'orderby'=> 'date', 

要显示的帖子这些都是有效的types.So你必须对他们的

  • “后”用 - 帖子。
  • '页面' - 一页。
  • '修订' - 修订。
  • '附件' - 附件。虽然默认WP_Query post_status 是'发布',但附件具有默认的post_status'继承'。 这意味着没有附件将被返回,除非你也明确地 将post_status设置为'继承'或'任何'。 (参见post_status,下文)
  • “nav_menu_item” - 导航菜单项
  • “任意” - 检索的任何类型的除“exclude_from_search”设置为true修改和类型与 。
  • 自定义文章类型(例如电影)

https://codex.wordpress.org/Class_Reference/WP_Query

+0

已尝试'orderby'=>'date'但不适用于我 – tarikul05

+0

WP_Query('orderby = date&order = DESC')这是否适合您? –

+0

它的工作,但没有** post_type **值对我来说更少,如果我添加** post_type **,那么它不工作 – tarikul05