syoshinさん、こんにちは。
試した訳ではないので想定どおり動作するか分かりませんが、$_GET[‘s’](必要に応じて$_POST[‘s’]も)の全角スペースを半角スペースに置換させれば全角でも動作するのではないかと思われます。
jim912様
返信ありがとうございます。
$_GET[‘s’](必要に応じて$_POST[‘s’]も)の全角スペースを半角スペースに置換させれば
とは、どのファイルを修正すればよいのでしょうか?
一応プラグインのphpファイル全部をテキストエディタで$_GET['s']と$_POST['s']
を検索してみましたが見つかりませんでした。
$_POST
だけで検索すればいくつかヒットしたのですが['s']
の部分はありませんでした。
もしかしたら、全然的外れなことをしているのでしょうか?
すみません、初心者なもので…。
例えばBookというカテゴリーで「犬」「白」「子」で検索した時
半角スペースで検索した場合
http://example.com/?search-class=DB_CustomSearch_Widget-db_customsearch_widget&widget_number=preset-1&post_content-0=book&cs-all-1=犬+白+子&search=検索
全角スペースで検索した場合
http://example.com/?search-class=DB_CustomSearch_Widget-db_customsearch_widget&widget_number=preset-1&post_content-0=book&cs-all-1=犬 白 子&search=検索
という風に、全角スペースだと「犬 白 子」でひとつの言葉になってしまっているようです。
syoshinさん、こんにちは。
WP Custom Fields Searchだと、検索テキストの入力フォーム名が変わるのですね。
一応、上記の例だとcs-all-1というキーで検索文字列が送信されてくるので
function replace_double_byte_space_cs_query_string() {
$_REQUEST['cs-all-1'] = str_replace( ' ', ' ', $_REQUEST['cs-all-1'] );}
add_action( 'init', 'replace_double_byte_space_cs_query_string' );
をテーマのfunctions.phpに追記すれば、全角スペースでもヒットするはずです。
ただし、上記はca-all-1の場合しか対応させていませんので、他のプリセットなどにも対応させるには、もう少し工夫が必要になります。
jim912様
ありがとうございます!
上記のコードで全角スペースでも検索できるようになりました。
WP Custom Fields Searchだと、検索テキストの入力フォーム名が変わるのですね。
そうなんです。WP標準のフォームとは別でWP Custom Fields Searchの検索結果の表示はindex.phpにされるので(search.phpも参照しているようですが)通常の検索とWP Custom Fields Searchの検索結果の表示の仕方を変えたりして使い分けています。
プリセットも条件によってどんどん増やせるのですが、今のところは単なる趣味のサイトなので1つのプリセットだけでも十分だと思うので今回はこれで解決済みとさせていただきます。
今後、訪問者の方から要望があればもっと細かく指定したフォームを設置するかもしれませんが…。
その時はまた改めて質問させていただだこうと思います。
この度は本当にありがとうございました。