• お世話になります。

    検索フォームにて英数字で検索時に、
    wordpressの検索フォームでは
    半角・全角を間違えますと検索できないようです。

    例)タイトルに「ヤマハJOG」 ・・・・全角英数使用

    「ヤマハJOG」で検索かけますとヒットします。・・・・全角英数使用
    「ヤマハJOG」で検索かけますとヒットしません。・・・・半角英数使用

    リニューアルの商品検索サイトを制作中です。
    、旧サイトは半角英数でもヒットしたそうです。

    半角・全角を間違えても検索できるようなカスタマイズ方法が分かりません。

    スキル不足で申し訳ありません。
    助言の程、よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • sigekfjpさん、こんばんは。

    PHPの関数、mb_convert_kanaを用いてカスタマイズすれば可能かも知れません。
    PHP: mb_convert_kana – Manual

    トピック投稿者 sigekfjp

    (@sigekfjp)

    Tsuyoshi.さん ありがとうございます。

    //「全角」英数字を「半角」に変換する
    function conv_zen_han($content) {
    return mb_convert_kana($content, ‘a’, ‘utf-8’);
    }
    add_filter(‘the_title’, ‘conv_zen_han’);

    を試してみました。

    表示上は「全角」英数字を「半角」に変換できましたが、
    検索しますとデータベース上を見に行くようで全角文字は
    検索ではヒットしませんでした。

    function zentohan(obj){
    if(typeof(obj.value)!=”string”)return false;
    var han= ‘1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@-.,:’;
    var zen= ‘1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@-.,:’;
    var word = obj.value; for(i=0;i<zen.length;i++){ var regex = new RegExp(zen[i],”gm”);
    word = word.replace(regex,han[i]);
    }
    obj.value = word;
    }

    JavaScriptで最初の記事タイトルを記入時に「全角」英数字を「半角」に変換
    出来けないか検討してますが挿入場所が分からずにいます。

    よろしくお願いします。

    そのフックだと確かに表示上しか変わりません。

    WordPress 検索 カスタマイズで検索するといろいろ出てくると思いますので、先ずはそちらをご覧になってみて下さい。

    ちなみに投稿保存時のアクションフックを使って全角を半角に変換してDBに登録することも可能だと思いますが、それよりもSQLをお分かりになるのでしたら検索のフックに噛ませて全角でも半角でも区別なくヒット出来るようにもカスタマイズ出来る気がします。
    方法はおそらくいろいろあると思いますよ。

    【MySQL】大文字小文字、全角半角区別しないでマッチする検索をしたい

    トピック投稿者 sigekfjp

    (@sigekfjp)

    Tsuyoshi.さん
    助言ありがとうございます。

    とりあえず大急処置で、登録担当者に半角英数でタイトルを修正してもらい
    検索フォームで検索時にJavaScriptで「全角」英数字を入力時に「半角」に変換し
    半角英数で統一するようにしました。

    SQLでの検索のフックも今後の課題で取り組みたいと思います。

    今後とも助言の程よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「検索フォームにて英数字で検索時に、半角・全角が違えても検索できるよ」には新たに返信することはできません。