Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【WordPressのカスタムフィールドで並び替える】

f:id:wp-lesson:20161020213842j:plain

ご相談を受けたのでテスト実装しました。
 
 
イベント紹介の地域ポータルサイトを想定し、
開催日または終了日が近いもの順に検索できる
ページです。
 
 
通常、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
⇒動画と個別添削で学べるオンラインレッスン

自分でホームページやプログラムの制作やカスタマイズをできるようなりたい方が
業種・経験・地域を問わず参加されています。

講師実績

業界大手リクルート社が運営する総合学習サイト「おしえるまなべる」
2015年、パソコンジャンルで1位評価
2016年9月「ホームページ作成のツボとコツがゼッタイにわかる本」出版

講師が執筆した本が発売されました!

『ホームページ作成のツボとコツがゼッタイにわかる本』
定価: 2,400円(税別)出版社:秀和システム
 
Amazon購入ページはこちら!