記事の本文の class=”…” が ” に変わる:WordPress の引用符の自動変換と code タグ

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

このブログの記事を読み返していたら、本文に書いた class="size-large" が、表示では class=”size-large” のように曲がった引用符になっていました。読んだ人がそのまま写すと、正しく動かない書き方です。

原因:wptexturize が引用符を変える

WordPress は、本文を表示するときに wptexturize という処理で、まっすぐな引用符を曲がった引用符に、「–」をダッシュに、のように文字を整えます。ふつうの文章では読みやすくなる処理ですが、コードの一部を本文に書いたときは困ります。DB の中はまっすぐな引用符のままなので、編集画面で見ても気づきません。

直し方:code タグで囲む

wptexturize は、code・pre・kbd・style・script の中は変えません。本文にコードを書くときは、短いものでも code タグで囲みます。

<!-- 変わってしまう -->
<p>img に class="size-large" のような印が付きます。</p>

<!-- 変わらない -->
<p>img に <code>class="size-large"</code> のような印が付きます。</p>

サイト全体で変換を止める方法(add_filter で run_wptexturize を false にする)もありますが、ふつうの文章の見た目も変わるので、このブログでは code タグで囲む方にしました。

確認のしかた

  • 表示されたページのソースで、&#8221; や ” になっていないかを探す
  • 過去の記事は、本文の中で code タグの外にある =" を探すと見つけやすい

SiteBeacon(サイトビーコン)

サイトが止まったら、すぐに気づける。

ホームページを 5 分ごとにチェックして、止まったとき・エラーが出たとき・SSL やドメインの期限が近いときに、メールでお知らせします。2 サイトまでは、ずっと無料で使えます。

SiteBeacon を見る サイトを直す相談をする

監視で気づいたあとの直す作業も、同じ担当がお受けします。