event managerでイベント一覧の表示順をカスタマイズする
wordpressを使い倒す案件が増えてきました。
最近イベント受付サイトを作るにあたって使用したプラグイン「event manager」。
無料のイベントシステム系プラグイン、とりあえず入れて試してみましたがその中ではカスタマイズできる範囲が広かったと思います。
カスタマイズしたコードの覚書。
イベント一覧の並び方をカスタマイズ
デフォルト機能でチケットを「金額」「名前」順にすることはできますが、やや不便。イベントリストを投稿日順にしたかったので、下記のコードを使いました。
>|html|[events_list category="X" orderby="modified"]||<
events_listはevent manager側で用意されたコード。
category="X"のX部分には表示させたいイベントカテゴリーのIDを書く。
そんでorderby="ほにゃららら"のとこにお好みのパラメータを書けばOK。
パラメータは下記サイトとかを参照に。
メインループにおける投稿の並び順を、タイトル・更新日・ランダムなど自由自在に変更する | The WordPress Press
申込みフォームの名前記入欄を必須にする
申込みフォームのテンプレートはプラグイン内のtemplates/forms/bookingform/booking-fields.phpにあります。
カスタマイズする場合は使ってるテーマディレクトリ/plugins/events-manager/forms/にコピペ。
<input type="text"〜ってタグが並んでるので、必須化したい項目にrequiredを指定する。
<input required>-HTML5タグリファレンス
申し込み時の記入項目もこのテンプレートカスタマイズすれば増やせます。
「席数」を「人数」に変更
上記と同じ場所にあるticket-single.phpをこれまたコピペ。
30行目あたりを
>|html|<label for='em_tickets'>人数</label>||<
に書き換える。
申し込み時に自動送信されるメールなどにも席数表示されてるので、これも直しときましょう。
プラグインのtemplates/emails/以下にあるbookingtickets.phpとbookingsummary.phpをコピペ。
該当部分を
>|html|<?php _e('人数','events-manager'); ?>: <?php echo $EM_Ticket_Booking->get_spaces(); ?> ||<
に変更。
これがメールのテンプレートなので、順序入れ替えたい、表示カスタマイズしたいとかもできます。
event managerのフォーラムやドキュメントが充実してるので、英語で検索して翻訳かけながら読めば結構解決すること多いと思います。