
今日は「 ブロックエディターで作ったHTMLをクラシックエディターに貼り付けると、なぜバグるのか?」について解説するよ。
WordPressを使っていると、ブロックエディター(Gutenberg)とクラシックエディター(Classic Editor)の違いに戸惑うことがあるよね。
特に、ブロックエディターで作成したコンテンツをHTMLに変換してクラシックエディターに貼ると、レイアウトが崩れたり、思った通りに表示されなかったりすることがある。
これには、いくつかの理由があるんだ。
1. GutenbergのHTML構造とクラシックエディターの違い
ブロックエディターは、**「ブロックごとにHTMLを管理」**しているのが特徴。
たとえば、wp-block
というクラス名が付いていたり、
<!-- wp:paragraph -->
のような特殊なコメントが含まれていたりする。
これをクラシックエディターに貼ると、クラシックエディターはこれらのコードを理解できず、余計な空白ができたり、文字が勝手に大きくなったりするんだ。
2. クラシックエディターの自動整形機能が影響する
クラシックエディターには、HTMLを自動で整形する機能がある。具体的には、
-
<p>
タグや<br>
の追加・削除 -
div
やspan
の勝手な変更 -
wp-block
クラスの削除
3. 使用するテーマやプラグインによって表示が異なる
WordPressのテーマやプラグインによっては、GutenbergとクラシックエディターのCSSの適用が異なる場合がある。
解決策
方法①: HTMLの余分なコードを削除する
GutenbergのHTMLをそのまま貼る前に、
-
<!-- wp:xxx -->
のようなコメントを削除 -
wp-block-xxx
のクラスを削除、または適用するCSSを変更
方法②: “テキストモード” で貼り付ける
方法③: ショートコードを活用する
[custom_box]
をクラシックエディターに貼ると、Gutenbergの影響を受けずに表示できる。方法④: Advanced Editor Tools(旧TinyMCE Advanced)を導入する
結論
-
GutenbergのHTMLは独自構造を持っているので、そのままクラシックエディターに貼るとバグる。
-
クラシックエディターはHTMLを自動整形するので、意図しない変更が加わる。
-
テーマやプラグインによっては、Gutenberg用とクラシックエディター用でCSSの適用が異なる。
-
「テキストモードで貼る」「余分なコードを削除する」「ショートコードを使う」などの対策で崩れを防げる。