レッスン予約システムについてのメモです。
特定のカテゴリ(およびその子カテゴリ)のカテゴリーアーカイブの中で、カスタムフィールドの値を使ってさらに絞り込むため、'meta_query' を使ってみました。
例えば、講師の「年代(20代、30代)」のように、時間の経過とともに変化する値にもとづいた分類には「カテゴリー」を使いづらいため、カスタムフィールドの「誕生日」から年代を判定して絞り込むようにしたかったのです。
まず、講師カテゴリ(スラッグ名: teacher)に投稿した講師紹介記事に、カスタムフィールド 'birth' を追加し、誕生日(例:'1990/04/20')を入力して投稿します。
「年代」の指定にはURLパラメータを使い、20代なら 'age=20' のようにします。
例 http://example.com/category/teacher/?age=20 など
URLパラメータで「年代」の指定があったときは、カスタムフィールド 'birth' の日付がその年代の10年間に該当するかを 'meta_query' で条件指定します。
下記のコードを「functions.php」に追加します。
[crayon-68eb1e9ebf615728844765/]
参考にした記事
- query_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】 | notnil creation weblog
- query_posts(WP_Queryクラス)でカスタムフィールドを使う:WordPress私的マニュアル
コメントを残す