イベント管理のプラグインEvent Organiserは、実に優れたプラグインなのですが、1点だけとても使いづらい点があります。

管理画面でイベントを一覧表示したときに、日付の古いものから順に並んでしまうのです。

ありえん(;´Д`)

WordPressのデフォルトでは、投稿や固定ページは最新のものから並びます。

これがとても自然な姿なのですが、Event Organiserでは、なぜかその逆に並んでしまいます。

しかも、それをプラグインの設定などから変更することができません。

毎度、一覧ページで見出しをクリックして並び替えるなんて、私には我慢ができません。

そこで、以下のコードをfunction.phpに書き加えます。

add_filter('posts_orderby','my_eventorganiser_sort_events',20,2);
function my_eventorganiser_sort_events( $orderby, $query ){
    global $wpdb;
    if( empty($query->query_vars['orderby']) ){
        if( eventorganiser_is_event_query( $query, true ) ){
            $orderby = " {$wpdb->eo_events}.StartDate DESC, {$wpdb->eo_events}.StartTime DESC";
        }
    }
    return $orderby;
}

です。