WordPressの勉強がてら

WordPressの初心者が独学でホームページ作成したときの技術メモ

WordPressの勉強がてら

「Events Manager」で現在開催中のイベントを示すプレースホルダーを作成する

      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

  • このエントリーをはてなブックマークに追加

  関連記事

wordpress情報
「Events Manager」の検索フォームにカスタム分類(カスタムタクソノミー)フィールドを追加する

イベントカレンダーのプラグイン「Events Manager」には絞り込み検索が …

wordpress情報
カスタム投稿をプラグインを使って実装し抽出する

WordPressでブログだけでなく通常のコーポレートサイトのようなページを作成 …

wordpress情報
ショートコードやタグを登録して簡単に呼び出す

WordPressの記事を登録するときショートコードやタグなど手で打つのはめんど …

wordpress情報
ソースコードを投稿するプラグイン

ソースコードを投稿し綺麗に表示したい。でもCSSをつくるのは面倒。 でいろんな言 …

wordpress情報
ログイン画面のロゴを変更

クライアントに納品するようなサイトはWordPressのログイン画面のロゴをオリ …

wordpress情報
Contact Form 7の初期値をクエリストリングから取得する

お問い合わせフォームを作成するときよく使うプラグイン「Contact Form …

wordpress情報
「Events Manager」の検索フォームにイベント属性フィールドを追加する

以前「Events Manager」の検索フォームにカスタム分類のフィールドを追 …

wordpress情報
ログオフせずに簡単にユーザーを切り替える

会員制のサイトや、クライアントの権限を「編集者」として引き渡しする場合など、動作 …

wordpress情報
カスタムフィールドの値をOR条件で抽出

カスタム投稿を作成した時に、カスタムフィールドの条件をOR条件で抽出したかったり …

wordpress情報
管理画面(ダッシュボード)のメニューの表示/非表示を手動で操作する方法

Webサイト作成後、クライアントに引き渡すとき、管理画面から不要なメニューは表示 …