WordPressで「--」が勝手に「—」に変換される

WordPressで「--」と入力したら、勝手に「—」に変換されてしまいました。

調べた所、どうやら特定の文字列を自動変換する機能があるようです。

「--」以外にもいろいろと変換するようなので、 この自動変換機能をストップする方法を紹介します。

自動変換の原因は?

WordPressには「wptexturize」と「convert_chars」という関数があり、 デフォルトで機能するようになっています。

この関数が「--」だけでなく、特定の文字列を自動変換します。

余計なお世話なんですけどね。

関数は /wp-includes/formatting.php

の中に記述されています。興味のある方は見てみてください。

自動変換のリスト

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乗算記号

自動変換されないようにする方法

自動変換を無効にする方法は簡単です。

function.php に以下のコードを記述してください。(WordPress 4.0.0以降に対応)

コメントもつけておいた方がわかりやすいと思います。


// 自動変換を無効にする
add_filter( 'run_wptexturize', '__return_false' );

文字列が勝手に変換されて困っている方は、 ぜひ試してみてください。

まとめ

・WordPressには特定の文字列を自動変換する機能がある。

・自動変換するのは「wptexturize」と「convert_chars」という関数

・自動変換を無効にする場合は、「function.php」にコードを1行記述するだけ。

スポンサードサーチ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする