WordPress シングルクォートとダブルクォートの表示文字(wptexturize 関数)

シングルクォートとダブルクォートの表示文字 WordPress の設定

先日のこと。シングルクォート「 ' 」を投稿に記述したら「 」が表示されるではないか???
調べたら WordPress の仕様のようですね。その対応方法も判明したので書き留めておくことに。

その前に、、、
クォーテーションマークとは、日本語で引用符ですね。英語の場合、スマート/カーリー(曲線型)とストレート(直線形)の種類、さらにシングルとダブルがあります。詳しくは、ウィキペディア(Wikipedia)の「引用符」参照のこと。
シングルスマートクォート ⇒ ( ○○ ) Unicode [‘ (開き) ’ (閉じ)]
ダブルスマートクォート ⇒ ( ○○ ) Unicode [“ (開き) ” (閉じ)]
シングルストレートクォート ⇒ ( '○○' ) Unicode [' (開き閉じ同じ)]
ダブルストレートクォート ⇒ ( "○○" ) Unicode [" (開き閉じ同じ)]

WordPress の仕様は、デフォルトで「ストレートクォート」を「スマートクォート」に統一(変換)しようとしているようですね。wptexturize なる関数が関与しているようです。「 ' 」「 " 」は、アポストロフィや閉じクォートとみなされ、スマートクォートの「 」「 」に変換されるようです。変換対象のテキストの詳細は wptexturize マニュアルを参照のこと。

その対応方法は簡単です。wptexturize の変換機能を停止すれば良いのです。
Coccon のテーマを使っているなら「管理画面」>「外観」>「テーマファイルエディター」から「Cocoon Child」内の functions.php を開き、以下のソースコードを追記してください。

// 「’」や「”」の変換停止
add_filter('run_wptexturize', '__return_false');

なお、以下の画像は、どちらも閉じダブルクォートですが、表示フォントが違います。

ダブルクォート
wptexturize マニュアル(英語)の画面
ダブルクォート
wptexturize マニュアル(英語)の画面 (表示フォントの変更後)