この実装、面倒なら代行します
たとえば、
・これから開催するセミナー
・現在セミナー参加の受付をおこなっているセミナー
上記を満たすセミナーだけトップページに表示したい、みたいな要望があったとして、それに該当するセミナー一覧を取得する方法をご紹介します。
まずカスタムフィールドにセミナー開催日(ここでは semi_date)とセミナー参加受付締切日(ここでは semi_deadline)を追加します。
そして、meta_query を使ってメタ情報(カスタムフィールド)の条件を設定して取得します。
// カスタム投稿名 $post_type = 'seminar'; $current_date = date_i18n( 'Ymd' ); //今日の日付取得 $posts = get_posts( array( 'post_type' => $post_type, 'posts_per_page' => -1, 'meta_key' => 'semi_date', //セミナー開催日 'orderby' => 'meta_value', 'order'=> 'ASC', //昇順 'type' => 'DATE', //日付 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'semi_date', //セミナー開催日 'value' => $current_date, 'compare' => '>=', //セミナー開催日が今日よりあと 'type' => 'DATE' //日付の比較 ), array( 'key' => 'semi_deadline', //セミナー参加受付締切日 'value' => $current_date, 'compare' => '>=', //セミナー参加受付締切日が今日よりあと 'type' => 'DATE' //日付の比較 ), ), ));
これで「これから開催する、かつ参加申し込みも受け付け中のセミナー」の記事一覧を取得できました。
あとはいつもどおり foreach なり while なりで一覧表示すれば完成です。
余談ですが、meta_query では複合的な絞り込み条件にも対応できます(WordPress4.0以降)。
たとえばこんな感じです。
// カスタム投稿名 $post_type = 'seminar'; $current_date = date_i18n( 'ymd' ); //今日の日付取得 $posts = get_posts( array( 'post_type' => $post_type, 'posts_per_page' => -1, 'meta_key' => 'semi_date', //セミナー開催日 'orderby' => 'meta_value', 'order'=> 'ASC', //昇順 'type' => 'DATE', //日付 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'semi_date', //セミナー開催日 'value' => $current_date, 'compare' => '>=', //セミナー開催日が今日よりあと 'type' => 'DATE' //日付の比較 ), array( 'key' => 'semi_deadline', //セミナー参加受付締切日 'value' => $current_date, 'compare' => '>=', //セミナー参加受付締切日が今日よりあと 'type' => 'DATE' //日付の比較 ), array( //このように条件をネストできる 'relation' => 'OR', array( 'key' => 'custom_field1', 'value' => 1, 'compare' => '=' ), array( 'key' => 'custom_field2', 'value' => 1, 'compare' => '=' ) ) ), ));
27-39行目にあるように、ORやAND条件をネストにすることも可能です。
現在あなたが利用されているWordPressテーマを活かしたまま、セミナーやイベントの参加申込み受付ができるWordPressテーマを、子テーマとして購入できます。
テーマの内容についてはこちらをご覧ください。
『WordPress製
セミナーやイベントの参加申込み受付システム』
ダウンロードしたファイルに同梱の手順に従い設定をおこない、子テーマを有効化するだけで、現在お使いのデザインテーマにセミナーやイベントの参加申込み受付機能が自動付与されます。
なお、デザインは入っておりません。自由にstyleを設定してください。
※ テーマは買い切りです
※ 自由に改変してお使いいただいて構いません
※ すでに子テーマでサイト運用されている方は、当該子テーマをマージしてください
また、本テーマには、セミナーやイベントの参加申込み受付機能を実現するために必要な次の事例解決も含まれています。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。