我有一个插件来管理事件。 (活动日历) 对于每个事件,我可以设置一个开始日期和一个Organizer(id)。 我想显示按组织者排序并按日期分组的即将发生的事件,以便在同一天,不同组织者有多个事件时,我可以列出所有事件。示例:
我不知道如何对查询进行排序和分组。 我正在使用一个插件函数,该函数通过设置帖子类型并按事件日期排序来查询事件。 尝试按照这里的建议 Wordpress wp_query group by custom field
案例1)
function query_group_by_filter($groupby){
global $wpdb;
return $wpdb->postmeta . '.meta_value';
}
add_filter('posts_groupby', 'query_group_by_filter');
$nextEvents = tribe_get_events(
array(
'eventDisplay' => 'list',
'posts_per_page' => 10,
'start_date' => $today,
'meta_key' => '_EventOrganizerID',
)
);
remove_filter('posts_groupby', 'query_group_by_filter');
情况2)
$nextEvents = tribe_get_events(
array(
'eventDisplay' => 'list', 'past',
'posts_per_page' => $items,
'start_date' => $today,
'meta_key' => '_EventOrganizerID',
'order_by' => 'meta_value_num',
'order' => 'ASC'
)
);
案例1仅返回具有多个事件的日期,但每天仅列出一个组织者。
情况2忽略组织者的排序,仅保留日期顺序。