
Photo Cameron Kirby via Unsplash
WordPressのサイト内検索で「ひらがな」と「カタカナ」、「全角英数」と「半角英数」を区別しないでマッチさせる方法を紹介します。
例えば、検索キーワードに「トマト」を指定したときに「とまと」を含む投稿を検索結果に表示させることが可能です。
また、検索キーワードに「NEW」と全角で指定したときに半角の「NEW」を含む投稿を検索結果に表示させることが可能です。
実装は簡単です。下記のコードをfunctions.php
に追加します。
function change_search_char($where, $obj) { if ($obj->is_search) { $where = str_replace(".post_title", ".post_title COLLATE utf8_unicode_ci", $where ); $where = str_replace(".post_content", ".post_content COLLATE utf8_unicode_ci", $where ); } return $where; } add_filter( 'posts_where', 'change_search_char', 10, 2 );
これで、「ひらがな」と「カタカナ」、「全角英数」と「半角英数」を区別せずに検索することができます。