The Event Calendarプラグイン記事の「降順」一覧表示


いろいろプラグインの改変をする上での、覚え書きみたいなものです (^^;

イベント管理が出来るThe Event Calendarプラグインにおいては、下記のメソッドで一覧表示のための情報取得ができます。

$events = tribe_get_events( array('eventDisplay'=>'all', 'posts_per_page'=>10, 'order' => 'ASC' ) );

しかし実は、ASCは決め打ちであり、DESCとかにしても無視されてしまうのです。
http://tri.be/support/documentation/the-events-calendar-template-tags-general-functions/#functiontribe_get_events
によれはプログラム内部でASC(昇順)に固定設定されている模様。

とはいえ、一覧表示の場合、新しいものを上に出したいものです(降順)。

だから、取得した情報を後からソートしなおしてみました。

$events = tribe_get_events( array( 'eventDisplay'=>'all', 'posts_per_page'=>5);
$s_date = array();
foreach ($events as $v){
  $vc = new WP_Post($v);
  $vv = $vc->to_array();
  $s_date[] = $vv['EventStartDate'];
}
array_multisort($s_date, SORT_DESC, $events);

のような感じにするとうまく降順に並び替えることができました。ただしWordPress 3.5からしか動作しません。
というのは、WordPress3.5から、WP_Postクラスが新設されて、arrayに変更する処理を追加しているためです。

こんなのは、tribe_get_eventsの方で実装してくれたらいいため(そもそも内部的にget_postsを使っているようなので、orderを引き渡してくれたらいいだけ)、プラグインのフォーラムのように投稿しておきました。
http://wordpress.org/support/topic/how-to-sort-the-event-list?replies=1#post-4231400

2013年5月24日 木谷

広告

The Event Calendarプラグイン記事の「降順」一覧表示」への1件のフィードバック

  1. ピンバック: カレンダープラグイン「The Event Calendar」での日付降順処理 #wpacja2013 | Kimiya Kitaniの徒然なるブログ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中