イベントカレンダーのプラグインは色々あるが、そのまま使うには項目が合わなかったり、見た目のカスタマイズが面倒だったりします。
そこで、カスタムフィールドでイベントの投稿を作成し、カレンダーに反映させ、イベントのリストも作成する覚書。

使用するのはmagic fileds などのカスタムフィールドのプラグイン。
シングルページで予約投稿を表示するShow Future Posts on Single Post
カレンダーはカテゴリーを指定できる Ajax Calendar、WP-Cat2Calendar、または、イベントを登録出来るCMS×WP の営業日カレンダー(こちらは有料)。

・イベントページの項目はカスタムフィールドで好きなように作る。
・投稿はイベントの開催日で予約投稿にする。
・これからのイベントのリストはpost_status=’future’ で、終了したイベントのリストはpost_status=’publish’ で。イベントの項目をカスタムフィールドで作成すれば、日時や場所などをリストに出力できる。

上記テストは2.9.2 で行いました。
*Ajax Calendar はmodels/calendar.php のpost_status=’publish’ を future に変更。WP-Cat2Calendar はタイムゾーンの設定date_default_timezone_set(‘Asia/Tokyo’); を追加。

*2010.7.3追記
前回、動作確認が出来てなかったので書きませんでしたが、イベントカレンダーのプラグインEvent Calendar 3を利用すると、より簡単になるかと。作者のHPでダウンロード出来るVersion 3.2.beta2は2.9.2で動作、3以降は未確認。*9.16追記:3.0.1で動作。*2011.7.27追記:3.2.1 で動作確認。

Event Calendar 3 Version 3.2.beta2 を実装したテーマサンプル。携帯対応(携帯ではイベントカテゴリーをトップに表示)。大きいカレンダーの表示カスタマイズはcalendar-big.php、calendar-big.js、ec3.css を編集。サイドバーのリストのカスタマイズはwidget-list.php。
このプラグインはイベントの登録は投稿の際にイベントの日程を設定するのみなので簡単。

イベント情報はカスタムフィールドプラグインVerve Meta Boxesで項目を作成、シングルページでメールフォームの表示非表示はチェックボックスで切り替え。メールフォームはutf-8対応のメールフォームCGI(http://www.synck.com/contents/download/cgi-perl/mailform_jcode.html)を使用。テンプレートに埋め込んで、イベント名を付けて送信できるようにしています。*携帯からも送信可能(すべての実機で検証は出来ていません)
Event Calendar 3 ではイベントカテゴリーには「これからのイベント」のみを表示し、終了したイベントは表示できないので、Post Expiratorで期限を設け、一旦下書きに戻して編集後(カテゴリーを変更、公開期限を削除、イベント報告を追記など)再公開するという想定です。
*定員数を設けたイベントの申し込みにはカートプラグインを利用しています。

2013.7 サンプルが古くなったためリンクは削除

2010.06.02 投稿 2015.04.05 更新

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles