WP_Query orderby

时间:2022-03-04 作者:DrogoNevets

我正在尝试以最佳方式进行训练,以完成稍微异常的点菜。

我有一个返回两种类型(Post和Event)的查询。正如预期的那样,默认情况下,它会按发布日期将两者一起排序。

我想要的是,帖子按发布日期排序,事件按event->start_date

我可以直接获取它们,循环它们并手动排序,但这似乎违反直觉。

非常感谢任何帮助。

干杯

德罗戈

2 个回复
SO网友:Heisenberg

可以通过在查询中添加以下两行来完成此操作:

\'orderby\' => \'publish_date\',
\'order\' => \'ASC\',

SO网友:Pat J

在下面的代码中,我假设event->start_date 是事件发布类型上的发布元字段。

\'orderby\' => array(
    \'meta_value\'   => \'ASC\',
    \'publish_date\' => \'DESC\'
),
\'meta_key\'  => \'start_date\',
\'meta_type\' => \'DATE\',
这假设帖子没有start_date 元集合,即它只在活动中出现。此外,我假设您希望事件按开始日期升序排列,帖子按发布日期降序排列。

参考WP_Query Order/Order By

相关推荐

元查询字段ORDER和POST_DATE ORDER一起导致不带元字段的帖子无序

我已经设法让wordpress对一个名为start_date 保存在Ymd 通过ACF插件在数据库中设置格式。然而,在我的查询中,没有此字段的其他帖子类型是无序的,并且似乎总是位于包含元字段的所有帖子之后。当前如何返回订单的示例:贴子类型:右对齐日期:年月日新闻2020年9月19日新闻2019年3月12日新闻2018年6月5日出版2020年10月16日出版物2020年10月19日出版物2020年11月2日,这是我正在使用的pre\\u get\\u posts挂钩的摘录。 function ord