ホームページ制作のためになるTopics

WordPressの[シングルクォート][ダブルクォート]が全角に変換されてしまう対策方法

WordPressは、記事タイトルや本文などでシングルクォート(’)ダブルクォート(”)を入力すると自動的に全角に変換してしまう機能になっています。
通常の日記などに利用しているユーザーには何の問題もないのですが、
プログラムやHTMLソースを記事に書く人には大きな問題です。
その記事の通り(コピペ)にしたのにエラーを吐き出してしまう結果の多くが
この自動変換されたコードに気づかず(’)が(’)に(”)が(”)になっているケースです。

「SyntaxHighlighter Evolved」というプラグインを入手して有効化する手段もありますが、
今回は、プラグインを使わずにこの問題を回避する方法を2つ紹介します。

コアファイルの一部をコメントアウトする方法

/wp-includes/formatting.php の126行目付近

$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

上記の先頭に//を追加してコメントアウトします。↓↓

//$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

これだけです。
簡単です。
じゃ、これでいいじゃん。となるわけですが、
WordPressのコアファイルを修正しているので、Wordpressをアップデートすると
修正したファイルも置き換わってしまうのでアップデートのたびに修正が必要です。
忘れすに更新できれば問題ありません。

テンプレート内のPHPに記述を追加する方法

使用しているテーマのディレクトリにある
/wp-content/themes/example/functions.php の最後に下記を追記します。

/* 自動変換を停止 */
remove_filter('the_title', 'wptexturize'); //記事タイトル
remove_filter('the_content', 'wptexturize'); //本文
remove_filter('the_excerpt', 'wptexturize'); //抜粋

この方法もこれだけです。
こちらは、アップデートしてもそのままです。が、
テーマを変更した場合は、同じ作業が必要です。
テーマを頻繁に変更することはないと思うので、個人的にはこの方法をオススメします。

どちらをとるかは、あなた次第です。
後者の方法はプラグインなどの関係でうまくいかない場合もあるので
その場合は前者の方法でコアファイルの編集もありだと思います。

その他のTopics