WordPressでハイフンの連続(2個のハイフン)”--“が1個のハイフン”-“に自動変換される

シェアする

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

過去の自分の記事を読み直していると、ハイフンの連続(2個のハイフン)”--“が1個のハイフン”-“に自動変換されていることを発見しました。
原因を調べてみると、どうやらWordPressには、自動変換機能というものが働いているようです。
WordPressの自動変換はwptexturizeとconvert_charsという2つの関数で実行されるようです。
この2つの関数の中でも、ハイフンの連続を1個にしてしまうのは、wptexturizeという関数で行われています。

スポンサードリンク

wptexturizeの変換

wptexturizeで行われる変換は以下の通りです。

変換前 変換後 シンボル記号

"---"    "—"    em-dash
" -- "    "—"    em-dash
"--"    "–"    en-dash
" - "    "–"    en-dash
"..."    "…"    ellipsis
    “    opening quote
"hello    “hello    opening quote
'hello    ‘hello    opening quote
''    ”    closing quote
world."    world.”    closing quote
world.'    world.’    closing quote
" (tm)"    " ™"    trademark symbol
1234"    1234″    double prime symbol
1234'    1234′    prime symbol
'99    ’99    apostrophe before abbreviated year
Webster's    Webster’s    apostrophe in a word
1234x1234    1234×1234    multiplication symbol

http://codex.wordpress.org/Function_Reference/wptexturize からの引用

スポンサードリンク

convert_charsの変換

一方、convert_charsは次の変換を行います。

  • メタデータタグ<title>と<category>が削除されます。
  • <br>と<hr>が正しいXHTMLに変換されます。
  • Unicodeの文字がただし範囲に変換されます。

スポンサードリンク

wptexturizeによる自動変換を止める方法

自動変換機能の動作は悩ましいです。
デフォルトで自動変換機能が働いているなら、恐らくは多くの人には有用であると開発者は思って導入しているはずです。
悩みましたが、convert_charsはそのままにしておいてwptexturizeだけは機能をオフにすることにしました。
wptexturizeをオフにするにはfunctions.phpに以下のコードを追加します。
remove_filter('the_content', 'wptexturize');
このようにしておくとcontentのページについてはwptexturizeの機能がオフになります。

半角ダブルクォーテーション " の自動変換については以下の記事をご覧ください。
WordPressで半角のダブルクオーテーション " が自動的に全角に変換される

WordPressの勉強方法

WordPressの基本を抑えておくのに1冊ぐらいは本を読みたいところです。
私は以下の本で勉強しました。

ネットに多くの情報があるので調べる分にはネットで十分です。

シェアする

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

フォローする

コメント

  1. […] こちらのページを参考にさせていただきました。詳しく説明を確認したい方はリンクから確認お願いします。 […]

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です