想要订购eventbrite事件列表,以便即将到来的事件首先显示



如何修改下面的调用,使即将到来的事件首先显示。目前的顺序是非常随机的;我需要在顶部显示大多数当前事件,任何过去的事件都不应该显示…

    <div class="events-links">
    <?
    include "eventbrite/Eventbrite.php"; 
    $authentication_tokens = array('app_key'  => 'APP_KEY',
                       'user_key' => 'USER_KEY');
    $eb_client = new Eventbrite( $authentication_tokens );
    $events = $eb_client->user_list_events();
    ?>
    <span class="inspirational">Upcoming Events</span>
    <?= Eventbrite::eventList( $events, 'eventListRow'); ?>
    </div>
    这些不是我的代币;我在发布之前更改了它们,只是随机字符:)

如果您使用的是user_list_events方法,您可以通过调整event_statuses字段来过滤结果。有效的选项包括:live、started或ended。只显示即将发生的事件,例如:event_statuses=live

结果将显示从最近即将发生的事件到未来最远发生的事件。

获取$events后,使用usort对数组进行排序。

作用

: http://php.net/manual/en/function.usort.php

$events = $eb_client->user_list_events();
usort($events, function($a, $b) {
    $adate = $a->start // or $a['date'] or $a->whatever it is
    $bdate = $b->start // or $a['date'] or $a->whatever it is
    if ($adate < $bdate) return -1;
    if ($adate > $bdate) return 1;
    return 0;
});

或者,您可以联系您的客户经理,如果您有的话。

(披露:我为一个EB竞争对手工作)

最新更新