ファセット検索プラグイン
- サービス分類
- WordPressプラグイン
- 公開状態
- 公開済み
どんなものか
既存の投稿タイプ、タクソノミー、カスタムフィールドを管理画面で選び、多条件の絞り込み検索へできるWordPressプラグインです。
なぜ作ったか
素のPHPで作った不動産サイトのファセット検索を、既存のWordPressサイトへ後付けできる汎用プラグインへ発展させることが制作の発端です。案件ごとに異なる投稿タイプ、分類、カスタムフィールドを作り直さず、そのまま検索条件として選べる形を目指しました。
見どころ
- プラグイン側で専用データを作らず、既存サイトがすでに持つ投稿タイプ、分類、カスタムフィールドを管理画面から検索対象にできます。
- JavaScriptの有無で検索結果が変わらず、選択肢が増えても選択肢ごとにSQLが増えない構成を自動テストと実測で確認しています。
- 画面の各部分はテーマ側から一枚ずつ差し替えられ、サイト固有の見た目へ合わせられます。
できること
- 検索したい情報や条件を管理画面で選べます
- 複数の条件を組み合わせて結果を絞れます
- 条件を選ぶたびに該当件数が更新されます
- JavaScriptが使えない環境でも検索できます
特に工夫したところ
- プラグイン自身は投稿タイプ、タクソノミー、カスタムフィールドを作らず、すでにあるデータ構造を管理画面の許可リストから選ぶ設計にしました。
- 初期表示とREST更新を同じレンダラーへ通し、フィルター、件数、条件チップ、結果、ページ送りの5断片がJavaScriptの有無で1バイトも変わらないことを検証しています。
- 各選択肢の件数は、選択肢ごとにSQLを増やさず、1ファセット単位の集計で取得します。選択肢を1000倍にした測定でもSELECT本数が増えないことを確認しました。
- JavaScriptを切っても絞り込み、AND/OR切替、並び替え、ページ送り、条件解除まで通常のGETフォームで動きます。
実際に触ってみる
実際の画面