【WordPressのカスタムフィールドで並び替える】
ご相談を受けたのでテスト実装しました。
イベント紹介の地域ポータルサイトを想定し、
開催日または終了日が近いもの順に検索できる
ページです。
通常、WordPressの記事ページ(投稿ページ)は
投稿した日付の順番に表示されますが、
記事ページをイベント案内に使う場合は、
投稿日ではなく、
・イベントの開催日順に並び替える
・終了したイベントは表示しない
というようにしなければ使い勝手が悪いです。
そこで、カスタムフィールドを使って
開催日や終了日、参加料や場所などといった
独自の入力欄を記事ページに追加して、
それらを並び替えに使えるようにします。
例)開催日が近い順にソート(終了したイベントを除く)
カスタム投稿タイプ名:event
カスタムフィールドの定義名:event_date
カスタムフィールドの書式:yy/mm/dd
テンプレートの実装:
$q = new WP_Query(array( 'post_type' => 'event', 'post_status' => 'publish', 'meta_value' => date('Y/m/d'), 'meta_key' => 'event_date', 'meta_compare'=> '>=', 'orderby' => 'meta_value', 'order' => 'ASC', 'paged' => get_query_var('paged'), 'type' => 'DATE', )); if($q->have_posts()): while($q->have_posts()) : $q->the_post(); //ここに各記事のHTMLが入る endwhile;endif;
プログラムの中心となる検索命令は以上。
あとは検索ユーザーの使い勝手を考慮して、
▼開催日順 ▼終了日順
のようなボタンを付けて、クリックすると
ソート条件を引き渡すようにすればOK。
↓↓↓「自分で作れる力」を身につけたいあなたへ↓↓↓
【1】CODEMYマンツーマンレッスン
codemy-lesson.office-ing.net⇒30分無料相談あり
⇒知りたいことだけ学べる個人レッスン
▼レッスンの記録をご覧いただけます。
https://www.facebook.com/codemy.lesson/
【2】プログラミング講座CODEMY
office-ing.hatenablog.com
⇒動画と個別添削で学べるオンラインレッスン
自分でホームページやプログラムの制作やカスタマイズをできるようなりたい方が
業種・経験・地域を問わず参加されています。