sigekfjpさん、こんばんは。
PHPの関数、mb_convert_kanaを用いてカスタマイズすれば可能かも知れません。
PHP: mb_convert_kana – Manual
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】大文字小文字、全角半角区別しないでマッチする検索をしたい
Tsuyoshi.さん
助言ありがとうございます。
とりあえず大急処置で、登録担当者に半角英数でタイトルを修正してもらい
検索フォームで検索時にJavaScriptで「全角」英数字を入力時に「半角」に変換し
半角英数で統一するようにしました。
SQLでの検索のフックも今後の課題で取り組みたいと思います。
今後とも助言の程よろしくお願いいたします。