http://wordpress.org/support/topic/plugin-all-in-one-event-calendar-order-event-by-start-date?replies=3#post-2443756
似たようなものを探しています。役立つはずの上記の投稿を見つけました!
「イベントは投稿ですが、イベントの開始日/終了日 != 投稿日です。クエリを作成するときは、投稿クエリではなく、イベント クエリを実行する必要があります。つまり、プラグインの API を使用して、開始または終了順にイベントを取得する必要があります。終了日. 対象の関数は get_events_between(). これは Ai1ec_Calendar_Helper クラスにあります. クラスは次の場所にあります: app/helper/class-ai1ec-calendar-helper.php コードを少し変更しました. テストはしていませんそのため、タイプミスやその他のエラーがある可能性がありますが、ロジックは同じです: http://pastebin.com/SNp4TJij "
アップデート!
だから私は本当にこれを理解しました...今日と今日から1年の間にイベントを取得するために設定したコードは次のとおりです。
global $ai1ec_calendar_helper, $ai1ec_events_helper;
// gets localized time
$bits = $ai1ec_events_helper->gmgetdate( $ai1ec_events_helper->gmt_to_local( time() ) );
//sets start time to today
$start = gmmktime(0,0,0,$bits['mon'],$bits['mday'],$bits['year']);
//sets end time to a year from today i.e. $bits['year']+1
$end = gmmktime(0,0,0,$bits['mon'],$bits['mday'],$bits['year']+1);
//Look in class-ai1ec-calendar-helper.php for details
$get_events = $ai1ec_calendar_helper->get_events_between($start,$end);
//loop through results to get post_ids
foreach($get_events as $event ):
$post_ids[] = $event->post_id;
endforeach;
// The New Events Query
$args = array(
'posts_per_page' => 4,
'paged' => get_query_var('paged'),
'post_type'=> 'ai1ec_event',
'post__in' => $post_ids
);
$events_added = new WP_Query( $args );
// The Loop
while ( $events_added->have_posts() ) : $events_added->the_post();
$event = Ai1ec_Events_Helper::get_event($post->ID);
//Your code here
endwhile;
wp_reset_postdata();
関数 get_events_relative_to() を使用して、開始時間の引数、結果数の制限、ページ オフセット (ai1ec のビューで使用され、wp ページネーションとは異なります)、およびフィルターを使用することもできます...それは戻りますイベント オブジェクトの多次元配列。post_ids を適切に取得するには、$events = $get_events['events'] を作成し、foreach で $events を使用する必要がありました。
ai1ec-themes を調べて、イベント データを表示する方法の例を見つけました。
echo apply_filters( 'the_content', $event->post->post_content );
1 つのイベント ページに表示されるような HTML 形式のイベント情報を返します。