Events Manager (WordPress Plugins)のイベント情報を取得する

Events Managerでは、カスタム投稿として wp_posts テーブルに入ってる情報と、その投稿と紐づく wp_em_events 内のイベント情報や、 wp_em_tickets に入っているチケット情報など、いくつかの独自のテーブルにデータが保存してある。

これらをテーマに組み込んで呼び出したい時のサンプルコード。

イベント情報の取得 (wp_em_events)

wp_em_eventsのテーブルにイベントIDや、開始日時、終了日時などが入ってます。

$event = new EM_Event( $post );

チケット情報の取得

$event = new EM_Event( $post );
$tickets = $event->get_tickets();

チケットは配列で返ってきます。

以下、テーマを作る時に書いたやつ

カスタム投稿側のイベントIDから1番最初のチケット情報を取ってくる

function get_first_ticket_from_post( $post ){
global $post;
$event = new EM_Event( $post );
$tickets = $event->get_tickets();
$first_ticket = ( count($tickets->tickets) > 0 )? current($tickets->tickets) : null ;
return $first_ticket;
}

カスタム投稿側のイベントIDから1番最初のチケットの金額を取ってくる

 

// カスタム投稿側のイベントIDから1番最初のチケットの金額を取ってくる
function get_first_ticket_price( $post ){
$return = null;
$first_ticket = get_first_ticket_from_post( $post );
if( $first_ticket !== null ){
if( (int)$first_ticket->ticket_price !== 0 ){
$return = floor($first_ticket->ticket_price);
}else {
$return = '無料';
}
}
return $return;
}

https://github.com/wp-plugins/events-manager

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください