WordPress でタグが勝手に生成されたり削除される問題

WordPress で記事を公開したとき、編集画面とは段落や改行が微妙に異なっている事がある。ソースを見ると思わぬ所に勝手に p や br といったタグが挿入されているようだ。

タグの自動生成を無効化

タグが勝手に追加されるのは wpautop という関数によって記事が自動整形されているのが原因だそうで、普通に記事を書く分には便利なのだろうが、独自にタグを使ってデザインを細かく設定している時などは、それによってデザインが崩れる場合がある。

この wpautop 関数は functions.php に下記コードを記述すると無効化でき、勝手にタグが生成される事はなくなるようだ。

// 記事の自動整形を無効化
remove_filter('the_content', 'wpautop');
// 抜粋の自動整形を無効化
remove_filter('the_excerpt', 'wpautop');

ビジュアルエディタのタグ削除を無効化

さてこれで編集した通りに記事が公開できると思いテキストモードで記事を作成、ちょいとビジュアルエディタにしてまた戻すと・・・見事 p や br タグが消え去っている。

ビジュアルエディタにする度にタグが消去されてはたまらない、かといって削除されたまま公開すると先程の設定により p と br タグのない記事になってしまう。

functions.php でこの辺は設定できるようだが、自分の場合は Tiny MCE Advanced というプラグインを入れており、ここに p と br タグを削除しないオプションがあったのでチェックしてみると上手く行った。

Tiny MCE Advanced の設定画面

おわりに

これでビジュアルエディタとテキストエディタを行き来してもタグが消される事はなくなり、そのまま投稿すれば勝手にタグが追加される事もなくなった。

スポンサーリンク