首页 > 解决方案 > 使用 ACF/post_meta 日期字段对帖子进行排序,如果未设置,则使用发布日期

问题描述

希望有人可以帮助我!

所以我创建了一个自定义帖子类型,并分配了一个日期/时间选择器来完成它。

我已更改循环以包含我的自定义帖子类型,并希望进行排序,以便如果将日期设置为帖子,则它会按循环中选择的日期进行排序。如果不是,那么应该只使用发布日期(对于所有其他帖子都是如此)。

我不想只过滤这个集合的帖子,我想要所有帖子。它本质上是人为地将 post_date 更改为自定义字段中的设置。

我需要这样做,因为日期提前了。

希望可以有人帮帮我!

我检查了字段输出日期,再次检查了发布日期,格式相同(2019-04-03 17:00:00)。

与该主题的所有其他问题不同,我不想将带有元数据的项目放在首位。

更新

function add_tours_to_query( $query ) {
if ( $query->is_home() && $query->is_main_query() && !is_admin()) {
  $query->set( 'post_type', array('post', 'tours') );
}
}
add_action( 'pre_get_posts', 'add_tours_to_query' );

所以你有了:

Blog Post - 2/04/2019
Tour Post with post meta set date of 3/04/2019
Blog Post 4/04/2019
Blog post 5/04/2019

以该顺序

标签: wordpressadvanced-custom-fieldsmeta-query

解决方案


推荐阅读