WordPressで改行タグや段落タグが削除される問題
WordPressは、手軽にWebサイトの運営ができて便利ですが、ちょっとおせっかいなところがあり、人間が意図しない(希望しない)修正を勝手にやってしまうことがあります。「自動整形」という機能です。
迷惑な「自動整形」の代表が、テキストエディタで手打ちした改行タグ<br>や段落タグ<p>が削除されてしまうこと。
改行タグ<br>が削除される問題
WordPressは、ビジュアルエディタを使って文章を書いているときは、キーボードのリターンキーで改行できます。
しかし、たまに、ビジュアルエディタではなく、テキストエディタを使って、手打ちで改行のHTMLタグ(br)を挿入したい場合があります。
たとえば、下記のようなBox内の文章を改行したい場合。
ビジュアルエディタで、第二文の前でリターンキーを押すと、Boxごと分割されてしまいます。
↑こういう風に。
WordPressのバージョンや、テーマによっても違うのでしょうが、一般的には上記のようになります。
そこで、ビジュアルエディタではなく、テキストエディタに切り替えて、第二文の前に手打ちで改行タグ<br>を挿入しようとするわけですが、この<br>タグは、Wordpressの自動整形機能によって削除されてしまいます。
具体的なWordpressの動作は、
-
テキストエディタで<br> を手打ち
-
ビジュアルエディタに切り替え
-
再びテキストエディタに切り替えると、自動整形機能によって<br>が削除される。
という流れになります。
プラグインによる解決方法
この問題を解決するために一般的に推奨されている方法は、プラグイン「TinyMCE Advanced」の導入。
「TinyMCE Advanced」は、WordPressのビジュアルエディタをより高機能にするためのプラグイン(無料)です。
このプラグインのClassic Editorの機能設定画面で、」高度なオプション」のなかの、
(段落タグをクラシックブロックとクラシックエディターに保持する)
の項目にチェックをいれておけば、先ほどの「1〜3」の操作をしてもbrタグやpタグが削除されなくなります。
<div>タグによる解決方法(推奨)
改行タグ<br>のかわりに段落タグ<p>を手打ちしても、やはり自動整形機能により削除されてしまいます。
おすすめは<div>タグで囲うこと。
<div>タグはブロック要素として扱われるため、表示上、前後に改行が入ります。これで改行タグ<br>を代用できます。
そして、<div>タグは、Wordpressの自動整形によって削除されません。
レイアウトのためだけにstyleやclassのない空の<div>タグを使うのは、本来の<div>タグの使い方とは違うかも知れませんが、これをやったからといってエラーにはなりませんし、重大な文法違反にもならないと思います。
以上、ちょっとした小ネタでした。