情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
イベントの開催日・開始日のフィールドと終了日のフィールドを用意し、終了日の入力の有無で振り分け、それぞれ「今日」の日付と比較
<?php $today = date('Y-m-d'); $start = get('event_date'); $end = get('event_end'); ?> <?php if (get('event_end')): ?> <?php if ($today >= $start && $today <= $end): ?>開催中<?php elseif ($today < $start): ?>開催予定<?php elseif ($today > $end): ?>終了<?php endif; ?> <?php else: ?> <?php if ($today < $start): ?>開催予定<?php elseif ($today == $start): ?>開催中<?php elseif ($today > $start): ?>終了<?php endif; ?> <?php endif; ?>
*$start = get(~の部分はMagic Fields を利用しているのでこういう書き方
追記
Advanced Custom Fields を利用の場合は日付のフォーマットは設定できるので、date~で取得するフォーマットに合わせる。
イベント管理・カレンダーに関する記事一覧
- is_main_query(pre_get_posts) でイベントの分類、その他(2012.08.30作成)
- イベントの開催中・終了などを表示(2012.09.27作成)
- 予約カレンダー・フォームのプラグイン(2013.08.15作成)
- 色々な用途に使えそうなカレンダー(2016.04.22作成)