お問い合わせはコチラから

クラシックエディタでHTMLが勝手に変わるのを防ぐTips

サイト運営

一部のWordpressマニアを除けば、Gutenbergとかどうでもいいよって思っている人がほとんどだと思います。

Classicエディタのサポート期限が事実上なくなったのもあって、Classicエディタを使い続けている人は一定数残ることでしょう。

先日、クラシックエディタで作られたサイトのテーマを変更したら、記事のレイアウトが崩れました。原因はエディタによってHTMLが自動整形されてしまったためです。

問題となった記述と整形後

整形前

pタグの中で<br>タグが連続していたら、複数のpタグに分割されてしまった。

<p>
あああああ<br/>
<br/>
<br/>
</p>

整形後

<p>
あああああ<br/>
</p>
<p>
<br/>
</p>

この動きを制御するのは、TinyMCE Advancedのオプションでも対応できません。

余計な整形をやめるカスタマイズ

以下のコードをfunctions.phpに追加することで、予想の斜め上の動きを止めることができます。

add_action('init', function() {
	remove_filter('the_title', 'wptexturize');
	remove_filter('the_content', 'wptexturize');
	remove_filter('the_excerpt', 'wptexturize');
	remove_filter('the_title', 'wpautop');
	remove_filter('the_content', 'wpautop');
	remove_filter('the_excerpt', 'wpautop');
	remove_filter('the_editor_content', 'wp_richedit_pre');
});

add_filter('tiny_mce_before_init', function($init) {
	$init['wpautop'] = false;
	$init['apply_source_formatting'] = ture;
	return $init;
});

まとめ

Classicエディタでは定期的に、

①ビジュアルモード ⇔ テキストモードの切り替えで保存データからタグが消える問題
②記事を表示する時にタグが消えてしまう問題

が起きます。

今回のケースは後者の問題の対応になります。

タイトルとURLをコピーしました