「Events Manager」で現在開催中のイベントを示すプレースホルダーを作成する
2015/06/08
以前に「Events Manager」でオリジナルのプレースホルダーを追加するにてプレースホルダーを作成する方法を紹介しましたが、その続き。
今回はトップページにイベント一覧を表示させ、現在開催中のイベントは「開催中!」と表示させたいと思います。
WordPressの初心者が独学でホームページ作成したときの技術メモ

2015/06/08
以前に「Events Manager」でオリジナルのプレースホルダーを追加するにてプレースホルダーを作成する方法を紹介しましたが、その続き。
今回はトップページにイベント一覧を表示させ、現在開催中のイベントは「開催中!」と表示させたいと思います。
function.phpを以下を追加します。
function my_em_custom_placeholders($replace, $EM_Event, $result){
switch( $result ){
case '#_NOW':
$dt = new DateTime();
$dt->setTimeZone(new DateTimeZone('Asia/Tokyo'));
$today = $dt->format('Y-m-d');
// 比較する日付を設定
$target_day_s = $EM_Event->event_start_date;
$target_day_e = $EM_Event->event_end_date;
// 日付を比較
if( (strtotime($target_day_s) <= strtotime($today)) && (strtotime($target_day_e)) >= strtotime($today)) {
$replace = '開催中!';
} else {
$replace = '';
}
break;
}
return $replace;
}
add_filter('em_event_output_placeholder','my_em_custom_placeholders',1,3);?>
「#_NOW」というプレースホルダーを作成しました。
現在の日時を取得し、イベント開始日時、終了日時と比較して開催中であれば「開催中!」という文字列を返しています。
一覧を表示させたいところに下記を追加
<?php $str_shortcode = "[events_list scope='future']"; $str_shortcode .= "<p class='dates'>【開催日】#_EVENTDATES #_EVENTTIMES</p>"; $str_shortcode .= "<p class='title'>#_EVENTLINK #_NOW</p>"; $str_shortcode .= "[/events_list]"; echo do_shortcode($str_shortcode); ?>
これでこれから先のイベントが表示されます。タイトルの後ろに、このイベントが開催中であれば「開催中!」が出力されます。
その他Events Managerの記事
・「Events Manager」プラグイン を使ってイベントカレンダーを作成する
・「Events Manager」の検索フォームにイベント属性フィールドを追加する
・「Events Manager」の検索フォームにカスタム分類(カスタムタクソノミー)フィールドを追加する
・「Events Manager」でオリジナルのプレースホルダーを追加する
・「Events Manager」の絞り込み検索ページへリンク(条件込み)を張る方法
・「Events Manager」の絞り込み検索フォームのリストの順序を変更する方法
WordPressの記事を登録するときショートコードやタグなど手で打つのはめんど …
会員制のサイトや、クライアントの権限を「編集者」として引き渡しする場合など、動作 …
お問い合わせフォームを作るときに定番のプラグイン「Contact Form 7」 …
カスタム投稿を作成した時に、カスタムフィールドの条件をOR条件で抽出したかったり …
会員専用ページをつくるにあたり、いろいろなプラグインがある。今回クライアントの要 …
便利なイベントカレンダープラグイン「Events Manager」ですが、フォー …
申し込みページに住所等の個人情報を入力する場合は、情報流出を防ぐためSSLを導入 …
イベントカレンダーのプラグイン「Events Manager」には絞り込み検索が …
イベントカレンダープラグイン「Events Manager」について便利な絞り込 …
WordPressのテーマを自分て作成しているとき現在表示されているのがどのテン …