ワードプレスドクターで検索クエリを置き換えて検索ゆらぎを補正して検索できるような仕組みをクライアント様のご依頼で担当させていただきました事例をご紹介いたします。
クライアント様のご要望
クライアント様はアジアの外国語辞書サイトをワードプレスで構築されており、ユーザーがその言語の読みで検索した場合になるべく検索結果が出やすいようにされたいとのことでした。
具体的には下記のような検索クエリの加工をご依頼いただきました。
1 検索窓に入力された文字列の中に下記の文字列が含まれていれば、それぞれ下記のように文字列を変換する。
「l」は「r」に変換。
「v」は「w」に変換。
等多数の置き換え条件。
2 連続した文字列は1文字にする。
3 ユーザーが入力したクエリはそのまま表示する。
ワードプレスで検索クエリを検索実施前に置き換えるには?
ワードプレスには、検索クエリを検索実行前に置き換えることができる仕組みがございます。
コードは下記のようになります。
function replace_search( $query_object ) { if( $query_object->is_search() ) { $raw_search = $query_object->query['s']; $replacement = str_replace( '置き換え前', '置き換え後', $raw_search ); if( $replacement ) { $query_object->set( 's', $replacement ); } } } add_action( 'parse_query', 'replace_search' );
ワードプレスドクターでは複雑な要件をこの仕組みを使い、検索クエリの置き換え条件をコーディングしプラグインとして納品させていただきました。