[wp]カスタム投稿で絞り込み検索する方法

カスタム投稿でスタッフを登録し、店舗別に表示したい。
タクソノミーで店舗を振り分けたので、投稿記事でいうところのタグとかカテゴリーの絞り込み検索ができたら望み通りの動作となる。

準備とか前提的なもの

カスタム投稿はCustom Post Type UIで構築。
投稿タイプスラッグ「staff」
タクソノミースラッグ「staff」
両方名前一緒だけど動作的にちゃんと別物だから気にしない。

表示(検索結果)ページの作成

「archive-staff.php」を作る。
「search-staff.php」を作ってfunctions.phpで設定してもこっちに飛んだからもうこれでいいやってなってる。

とりあえず以下に目ぼしいソースを並べる。

検索部位

「input type=”hidden” name=”post_type” value=”staff”」は「archive-staff.php」を表示させるためのおまじない。
タクソノミーでは店舗情報しか入れてないので、selectでタクソノミースラッグ「staff」の中身をありったけ並べる。
valueは「esc_attr($term->slug);」、idでもいいんだけど。
読めるように表示部分は「esc_html($term->name);」。

検索結果:該当ターム表示

selectで選んだslugを「staff」にぶち込んで、該当のnameを表示。

検索結果:投稿一覧

いっこ上のソースの「$searchSlug = $_GET[‘term’];」が連動してるので注意。

備考

URLはこんな感じになる。
http://hogehoge.jp/?post_type=staff&term=****
「term=****」はphpで料理してるからname自体なんでもいいんだけど、「post_type」は「archive-staff.php」と紐付いてるので間違わないように。


コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です