WordPress

ループ内でAll-in-One Event Calendarのデータを取り出す

『All-in-One Event Calendar』のイベント情報をループで回して、各イベントの情報を取り出す方法です。

執筆時点での最新バージョン2.6.8で動作を確認しています。

使いそうな物を中心にピックアップしてみました。
他にも取り出し可能なデータはあります。

$args = array(
	'post_type' => 'ai1ec_event'
);

$wp_query = new WP_Query( $args );

global $ai1ec_registry;

while ( $wp_query->have_posts() ) :

	$wp_query->the_post();

	$event = new Ai1ec_Event( $ai1ec_registry );
	$event->initialize_from_id( $post->ID );

	$event_title = $event->get( 'post' )->post_title;//イベント名
	$event_slug = $event->get( 'post' )->post_name;//スラッグ
	$event_content = $event->get( 'post' )->post_content;//記事内容
	$event_allday = $event->get( 'allday' );//終日イベント
	$event_instant_event = $event->get( 'instant_event' );//終了時間なし
	$event_start = $event->get( 'start' )->format('Y-m-d' );//開始日
	$event_end = $event->get( 'end' )->format('Y-m-d' );//終了日
	$event_venue = $event->get( 'venue' );//会場
	$event_address = $event->get( 'address' );//住所
	$event_longitude = $event->get( 'longitude' );//経度
	$event_latitude = $event->get( 'latitude' );//緯度
	$event_contact_name = $event->get( 'contact_name' );//連絡先の名称
	$event_contact_phone = $event->get( 'contact_phone' );//連絡先の電話番号
	$event_contact_email = $event->get( 'contact_email' );//連絡先のメールアドレス
	$event_contact_url = $event->get( 'contact_url' );//連絡先のURL
	$event_cost = $event->get( 'cost' );//参加費用
	$event_is_free = $event->get( 'is_free' );//無料イベント
	$event_ticket_url = $event->get( 'ticket_url' );//チケットのURL

endwhile;

wp_reset_postdata();