イベント管理のプラグイン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;
}
です。