【WordPress】特定の文字列が自動変換されるのを停止する!

シェアする

特定の文字列が自動変換される件について

今更ながらですが、WordPressで文字列が自動的に変換される対策を行ってみました。

WordPressのデフォルトの仕様として、WordPressの編集画面である特定の文字列を入力すると、その入力した文字列が別の文字列に変換されてしまいます。

自動変換される文字列の一例

一例として以下の文字列が変換されています(WordPress Codex日本語版から抜粋) 

元のテキスト変換されたテキストシンボル名
"---""—"em ダッシュ
" -- ""—"em ダッシュ
"--""–"en ダッシュ
" - ""–"en ダッシュ
"...""…"省略記号
``開始引用符
"hello“hello開始引用符
'hello‘hello開始引用符
''終了引用符
world."world.”終了引用符
world.'world.’終了引用符
" (tm)"" ™"商標記号
1234"1234″ダブルプライム記号
1234'1234′プライム記号
'99’99西暦の省略表現前のアポストロフィ
Webster'sWebster’sアポストロフィ
1234x12341234×1234乗算記号

特定の文字列が自動変換される原因

これら特定の文字列が自動変換される原因は、「wptexturize」「convert_chars」の2種類のフォーマット用関数が不正な文字として判断し変換しているためです。

特定の文字列が自動変換される対策

これらの文字列を変換させないようにするために「functions.php」ファイルに下記のソースを追記します(WordPress 4.0.0以降対応)。

add_filter( 'run_wptexturize', '__return_false' );

これで、正常に表示されるようになりました( ^o^)ノ