繁体   English   中英

如何在 WP_Query 中按日期排序?

[英]how to order by date in WP_Query ?

我已经尝试过这种方式,但是orderbyorder在 WP_Query 类上不起作用

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

它总是返回orderby=> 'menu_order'order='ASC'

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

提前致谢

您可以在WP_Query() 中orderby设置多个参数。 datetitlemenu_order等。

这是Order & Orderby 参数

试试这个例子

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

这个例子在 WP Version_4.x 中对我来说正常工作

根据显示按日期排序的帖子的文档,您应该使用date 。(但无论如何默认为 date )

"orderby (string | array) - 按参数对检索到的帖子进行排序。默认为 'date (post_date)'。可以传递一个或多个选项。"

     'orderby'=> 'date', 

要显示与特定类型相关的帖子,这些是有效类型。所以你必须使用它们

  • 'post' - 一个帖子。
  • '页面' - 一个页面。
  • '修订' - 修订。
  • '附件' - 附件。 虽然默认的 WP_Query post_status 是“publish”,但附件的默认 post_status 是“inherit”。 这意味着不会返回任何附件,除非您还明确将 post_status 设置为 'inherit' 或 'any'。 (请参阅下面的 post_status)
  • 'nav_menu_item' - 导航菜单项
  • 'any' - 检索除修订版和类型之外的任何类型,其中 'exclude_from_search' 设置为 true。
  • 自定义帖子类型(例如电影)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM