WordPressでpタグやbrタグが消える現象を解決する。(根本原因不明。とりあえず対策実施済)

スポンサーリンク
スポンサーリンク

現象としてpタグ、brタグが消える

以前から気になっていたことなんですが、Wordpress管理画面で記事を書いている時に、pタグを入れて書いていたのですが、管理画面で下書き保存をしたり、テキスト画面からビジュアル画面に遷移した後にテキスト画面に戻ると、pタグが消えてしまっていることがありました。

またbrタグも同様のことがありました。どうやら僕だけの話ではないようです。これって一般的というか、Wordpressを使っている人ならば既知のことのようです。

どうもpタグやbrタグだけではない

またpタグやbrタグだけではなく、spanタグも消えてしまうようで、今回はそれも合わせて対応をしようと思います。

もっと調べてみるとかなりたくさんあるみたいです

ただ調べていけば行くほど、いろんなタグが勝手に消失するようです。なんかpタグやbrタグはごく一部のようです。

サイトをみていると、styleタグも消えてしまうようです。

また、自動でpタグが発生することも

これはビジュアルエディタ側の問題だそうですが、改行をたくさん(2行)すると、改行した分だけ、pタグが挿入されるそうです。

またビジュアルエディタで文章を書いた後に、テキストエディタに戻ると、書いた内容にpタグで囲まれるという現象があるそうです。

ただ、僕の環境ではちょっと違う現象が起こっている

そうなんです。僕の環境ではちょっと違う状況になっています。具体的にはこうです。
  • テキストエディタがでPタグやbrタグを書いた後に、ビジュアルエディタに移ると、pタグやbrタグは消える。
  • ビジュアルエディタで書いた後に、テキストエディタに戻っても、pタグは表示されない。
  • ビジュアルエディタで改行をすると、改行した分だけ、 が表示される。

なぜか理解ができない

考えられることとしては、Stinger8には、エディタに対してfunctions.phpの中に記載しているソースがあるようです。

でも今の僕では、どのソースがどういった役割をしているのか、なんの処理をしているのかがわかりません。ということで結論としては、やっぱりよくわかりませんとなりました。

対応はどうするのか

とはいえ、pタグやbrタグが消えてしまうのはどうしても避けたい。せっかくつけたタグは、ビジュアルエディタからテキストエディタに戻してもついていて欲しいので、とにかく、タグが消えないようにするということだけを主眼において、対応をすることにしました。

対応としてはプラグインが主流

この現象についてはプラグインで対応をするみたいです。そのプラグインとは、TinyMCE Advancedです。

TinyMCE Advanced
Extends and enhances the Block Editor (Gutenberg) and the Classic Editor (TinyMCE).

でも、このTinyMCE Advancedでも改善しないケースもあるようです。なので、今回は、直接ソースコードを書き込むことにしました。

で、サイトを調べてみました。

簡単にプラグインで対応したくないというのが僕の今のWordpressを利用する上での方針ですので、なんとか内部のファイルのコードを変更することで対応できないかなと調べてみるとやっぱりありました。とても親切な方です。公開してくれていました。

pタグやbrタグ自動挿入と勝手に消されるのをやめさせる

WordPressのPタグ、BRタグの自動整形に対処する | 設定やツールねた
WordPressにはOffice並みのおせっかい機能、自動整形機能は邪魔である。何とか簡単に整理できないかと調べてみたが、あまり良い方法がない。しょうがないのでソース追いかけて調べてみた。

pタグや、brタグ以外のタグが消えてしまうのをやめさせる

【WordPress】ビジュアルモードでspanタグが消えたら、TinyMCEエディタの設定をしよう - イソップブログ
どうも、イソップです。 WordPressで記事を編集中に、ビジュアルモードとテキストモードを切り替えることで...

functions.phpに追記する

では、コードをご紹介します。今回のコードの表示はGitHubのgistで表示させています。

pタグや、brタグ以外のタグが消えてしまうのをやめさせるコード

pタグやbrタグが勝手に消されるのをやめさせるコード

最後に

これで、テキストエディタで書いたタグが消えるという現象はなくなりました。よかったです。ただ、ビジュアルエディタで書いた文字列にpタグが囲われてしまう状況は変わっていません。これについては今後も継続して調べていこうと思います。

コメント