Wordpress查询按自定义字段排序和分组

时间:2019-10-25 22:43:00

标签: php wordpress

我有一个插件来管理事件。 (活动日历) 对于每个事件,我可以设置一个开始日期和一个Organizer(id)。 我想显示按组织者排序并按日期分组的即将发生的事件,以便在同一天,不同组织者有多个事件时,我可以列出所有事件。示例:

  • 26/10
    • 活动组织者A
    • 活动组织者B
    • 活动组织者C
  • 26/11
    • 活动组织者C
  • 26/12
    • 活动组织者B
    • 活动组织者C
  • 26/01
    • 活动组织者A

我不知道如何对查询进行排序和分组。 我正在使用一个插件函数,该函数通过设置帖子类型并按事件日期排序来查询事件。 尝试按照这里的建议 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忽略组织者的排序,仅保留日期顺序。

0 个答案:

没有答案