、むぎの手記にWordPress plug-in 「Search & Filter」を使ってcategory での絞り込み検索をする機能を導入した。
予てから、site 内の記事を探し出す上で既存の検索機能では不十分と考えていたからだ。
3候補から選ぶ
category での絞り込み検索は、PHP を編集する事でも実現できるようだが、plug-in を用いる方法が楽なので採用した。
利用者が1万人以上あるplug-in を挙げると、3つ見つかった。
利用者が多い順に試してみた。しかし、Relevanssi とSearch Everything には抑々絞り込み検索の機能がなかった。これらを利用する上で頑張って英文を大量に読んだのに、骨折り損に至った、英語の勉強にはなったが。
そして、3番目に試したSearch & Filter には絞り込み検索の機能があったので使ってみた。
設定画面に掲載されていたcode searchandfilter taxonomies="category,post_tag"
では、検索窓が表示されなかったので、次の様に改良した。
searchandfilter headings=",絞り込み" fields="search,category" submit_label="検索"
実際にこの検索欄を使って検索してみたが、error code「404」が表示される。
その原因は、実際のcategory page はmugi.wp.xdomain.jp/archives/category/%category%
なのだが、検索結果はmugi.wp.xdomain.jp/category/%category%
を参照していることだ。
そこで、[パーマリンク設定]∋[オプション]∋[カテゴリーベース]の欄に、元々空白だったところに「category」を入力してみた。すると、category page のURI からarchives
が外れて成功した。
permalink は極力弄らない方針だったが、仕方ない。しかし考えてみれば、category page のURI にarchives
は無い方が自然にも感じるので然程抵抗感はない。
検索窓の位置は、menu bar に検索窓が既に置かれているのでfooter に置いた。
WP Custom Fields Searchを試す
permalink を弄らずに済むplug-in を探してみた。
すると、WP Custom Fields Search という物が利用者が1万人未満ではあるが存在したので試しに使ってみた。しかし、
Warning: Invalid argument supplied for foreach() in /home/mugi/mugi.wp.xdomain.jp/public_html/wp-content/plugins/wp-custom-fields-search/search_form.php on line 25
という警告が出て機能しない。調べても分からなかったのでこのplug-in を使うのは諦めた。
結局、Search & Filter を使うことで落ち着いた。