みなさん、こんにちは。
MEGIDO(メギド)です。

ワードプレスを利用したWEBサイト制作で
アポストロフィーを半角で打っているのに、
なぜか全角で表示される事態に遭遇しました。

「フォントの兼ね合いなのかな?」と思ったりもしたのですが、
よく調べてみるとワードプレスに組み込まれている関数が原因でした。

今回はその原因を解決して文字が自動で全角になるのを解除する方法をお伝えします。

 

ワードプレス文字が自動で全角になる原因の関数

ワードプレスで文字が自動で全角になる原因は
「wptexturize」と呼ばれる関数にあります。

ワードプレスの日本語版公式マニュアルによると

 

この関数は、与えられたテキストに次のような変換を行って返します。
例えばふつうの引用符をスマート引用符へ変えたり、
特定の記号の並びをアポストロフィ、ダッシュ、
省略符号(…)、商標記号、乗算記号などへ変えたりします。

 

「引用 https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wptexturize」

公式マニュアルにはどんな文字がテキスト変換されるのかが記載されていますが、
今回、問題となってアポストロフィーがばっちり記載されていました(笑)

何でこんな機能をつけたのか謎は深まるばかりなんですが、、、
これぞありがた迷惑な機能という感じがします。

 

ワードプレス文字が自動で全角になるのを解除する方法

ありがた迷惑な感じの関数「wptexturize」ですが、
この関数の効果を解除する方法をお伝えします。

公式マニュアルにヒントが書かれていました。

タグ <pre><code><kbd><style><script><tt> に
囲まれたテキストはスキップされます。

「引用 https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wptexturize」

上記のように書かれていたので「変に表示になる」、
「全角で表示される」といった文字が出てきた場合は
上記のタグで囲んでしまえば大丈夫なようです。

HTMLの意味から逸脱しないようにするなら<pre>タグで囲むのが良いかなという感じです。

また<tt>タグはhtml5では廃止されたタグなのでこれは使わない方がよいでしょう。

 

まとめ

今回は「ワードプレスで文字が自動で全角になるのを解除する方法」をご紹介しました。

こういうマイナーな問題が発生すると中々原因が
分からずに時間がたつ、、、ということになりがちなので
悩んでいる人が見てくれたらなと思います。

マイナーな問題はググっても中々、
解決方法が出てこないなと実感しました(笑)

それでは今回はここまで。
最後までお読みいただきありがとうございました。

まとめ

SHARE

アバター
TEXT BY MEGIDO

RECOMMENDED POSTこの記事もおすすめ!