我有两个自定义的帖子类型,由两个第三方插件创建,我想通过主查询显示在一个常见的有序列表中。它们必须按两个不同的自定义字段排序,但具有相同的信息-事件开始日期,以相同的格式“Y-m-d”存储。下面是我的代码,但它不能按预期的方式工作-首先显示事件类型的帖子,但以任意无序的方式显示,然后按预期的方式显示facebook\\u事件类型的帖子。我如何解决这个问题?
function add_custom_post_type_to_query( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( \'post_type\', array( \'post\', \'facebook_events\', \'event\' ) );
$query->set( \'meta_query\', array(
\'relation\' => \'OR\',
array(
array(
\'key\' => \'event_start_date\', //this is from facebook_events post type
\'value\' => date_i18n("Y-m-d"),
\'compare\' => \'>=\',
\'type\' => \'DATE\',
)
),
array(
\'key\' => \'_event_start_date\', //this is from event post type
\'value\' => date_i18n("Y-m-d"),
\'compare\' => \'>=\',
\'type\' => \'DATE\',
)
) );
$query->set( \'orderby\', \'meta_value\' );
$query->set( \'order\', \'ASC\' );
}
}
add_action( \'pre_get_posts\', \'add_custom_post_type_to_query\' );
UPDATE
我有一个启发!我发现我的代码哪里错了,看看我的答案。