今回は、複数の検索キーワードを全角スペースで区切っても正しく検索を行うことができる方法を紹介したい。
このカスタマイズを行うことで、閲覧者が混乱することを事前に防ぐことができる。
検索フォームで全角スペースがエラーを引き起こしている理由
WordPressは英語圏で作られたWebサイト構築システムである。
そして、英字と漢字は規格が違う。
我々が「半角」と呼んでいる文字は「1バイト言語」であり、「全角」と呼んでいる文字は「2バイト言語」となっている。
つまり、英数字記号256文字で事足りる文化圏で作られたソフトウェアなので、漢字を使用する文化圏での完全な対応は考慮されていない。
こういった理由で、検索キーワードを区切るときに全角スペースを使用するとエラーを起こしてしまうのだ。
検索結果での全角スペースの取り扱われ方
さて、とりあえず検索ボックスの入力欄に全角スペースを入れて検索ボタンを押して結果を見てみよう。
そしたら、ブラウザの上のほうのURLにはこのように表示されているはずだ。
hoge.com/?s=%E3%80%80
この「%E3%80%80」が全角スペースそのものなのである。これを検索しているのだ。
では、「あいうえお」と「かきくけこ」を全角スペースで区切って検索したらどのようになるのだろうか。
hoge.com/?s=あいうえお%E3%80%80かきくけこ
そう、「あいうえお%E3%80%80かきくけこ」というひとつの単語を検索してしまっているのだ。
こういったわけで、全角スペース区切りでは検索単語の絞り込みを行うことができなくなっているのだ。
WP Multibyte Patchを導入して解決!
さて、WordPressでの全角スペースの扱いをどうするか?という問題であるが、現在ではとても簡単に解決することができる。
それが、この記事で紹介する「WP Multibyte Patch」になる。
このプラグインは、文字通り「マルチバイト文字」つまり「2バイト言語」がWordPressで引き起こす不具合を改善する日本語圏向けのプラグインである。
上記の公式サイトをスクロールして、「主な機能」を読んでみよう。
そしたら、このような文を見つけることができるはずだ。
検索
検索の際に全角スペースを区切り文字として認識させます。また、検索文字列内の重複するスペースを取り除きます。
WP MULTIBYTE PATCH公式サイトより
つまり、このプラグインを導入するだけで検索フォームの不具合を解決することができるのだ。
導入方法
管理者画面に入り、左側のサイドバーの中にある「プラグイン」にカーソルを合わせ、「新規追加」を選ぼう。
そして「プラグインを追加」画面に入ったら、検索欄に「WP Multibyte Patch」と入力しよう。
「今すぐインストール」を押してインストールしたら、「有効化」を押そう。
これで「WP Multibyte Patch」の導入は完了だ。
このプラグインが検索フォームで行っている動作
このプラグインは、検索フォームの入力欄に打ち込まれた全角スペースを自動で半角に修正してくれる。
つまり、サイト内検索結果ページに変遷する間に全角スペースを半角スペースに直して結果を表示してくれるのだ。
これにより、正しく絞り込み検索を行うことができる。
また、重複したスペースを直してくれる機能も存在している。
スペースをふたつ空けて検索していても、検索結果ページではちゃんとスペースひとつぶんに直してくれる。
このふたつを覚えておこう。
さらなる利点
このプラグインは全角スペースを修正するだけではない。
サイト内検索においても以下のようなカスタマイズで役に立ってくれる。
日本語環境下での様々な問題にマルチで対応してくれる優れものだ。
プラグインの注意点
このように便利な機能を提供しているプラグインであるが、残念ながらこれを導入したことによってWebサイトに不具合が発生したという事例もいくつか存在する。
これは、WP Multibyte Patchより先に導入していた別のプラグインのキャッシュなどが原因になっていると言われている。
本来はWP Multibyte Patchをどのプラグインよりも最初にインストール・有効化するのが一番良いと言われているので、既に複数のプラグインを導入済みであるのなら導入を控えたほうがいいかもしれない。
ただ、閲覧者のために検索フォームの全角スペースを修正したいのであれば導入するべきだろう。
最後に
先ほどの説明のように、Webサイトの環境によっては様々な不具合が発生してしまうこともある。
あとから気が付いた場合は仕方がないが、ふたつめのWebサイトを作ろうと考えているのなら忘れずにやっておこう。
細かな不具合に対応することにより閲覧者に優しいWebサイトに近づくはずだ。
今回は、WordPressにおける全角スペースの問題と、WP Multibyte Patchの取り扱いについて簡単に説明した。
本来は別のカスタマイズを行っていたのだが、その途中で検索結果に全角スペースが効かないことにも気が付き、その現象についても忘れないように書き留めておきたかったからだ。
この記事が役に立つと嬉しい。