コラム / 制作会社・広告会社向け

WordPress 7.1で投稿エディターが常時iframe化|更新前の確認項目

WordPress 7.1では投稿エディターが常にiframe内で動作します。通常の記事編集だけなら過度に心配する必要はありませんが、独自ブロックやエディター拡張がある案件では更新前の確認が必要です。

公開 最終確認 2026-09-16著者 GreenCoding
抽象的な入れ子の編集画面を表示したノートパソコンと端末見本、確認用チェックシート

通常の投稿編集だけなら、WordPress 7.1への更新を過度に恐れる必要はありません。ただし、独自ブロック、エディター用CSS、編集画面を拡張する機能がある案件では、更新前に編集・保存まで確認する必要があります。

WordPress 7.1で何が変わったのか

ここでいう投稿エディターはブロックエディターです。Classic Editorなど別の編集画面はこの記事の確認対象に含めません。WordPress 7.1では、ブロックエディターの編集領域が常にiframe内で動作します。iframeは、管理画面の中に別のページを入れ子で表示するような仕組みです。内側の編集領域と外側の管理画面は、それぞれ別の文書とウィンドウを持ちます。

これまでは、テーマや本文内のブロックによってiframeになる場合とならない場合がありました。7.1では、テーマ形式やブロックAPIのバージョンにかかわらず、投稿エディターが常にiframeになります。WordPress公式は、多くのブロックは変更なしで動く一方、カスタムブロックやブロック拡張プラグインは完全にiframe化された投稿エディターで確認するよう案内しています。

図で見る:管理画面と編集領域は別の文書

WordPress PlaygroundのWordPress 7.1.1 RC1で、投稿本文の編集キャンバスがiframeとして作られる構造を2026年9月15日に確認しました。次は、その実際の構造を制作担当者向けに読み替えたオリジナル図解です。管理画面の実スクリーンショットではありません。

管理画面側(親ページ)

上部ツールバー、設定サイドバー、編集用スクリプトがある領域です。ここには管理画面側のdocumentとwindowがあります。

投稿本文の編集領域(iframe)

タイトル、段落、画像、独自ブロックが置かれる領域です。親ページとは別のdocumentとwindowを持つため、編集対象の要素から参照先をたどります。

コードで見る:参照先がどう変わるか

たとえば独自の「お知らせバナー」ブロックで、編集キャンバスの要素へイベントを付ける場合を考えます。次の短い例は、公式資料の考え方に沿ってGreenCodingが説明用に再構成したものです。

確認が必要な例

window.addEventListener(
  'resize',
  refreshPreview
);

グローバルなwindowは管理画面側を参照するため、iframe内の編集領域で期待したタイミングとずれる可能性があります。また、解除処理がないと再描画のたびにイベントが重複するおそれがあります。

参照と解除をそろえる例

const ref = useRefEffect( ( element ) => {
  const { defaultView } =
    element.ownerDocument;

  defaultView.addEventListener(
    'resize',
    refreshPreview
  );

  return () => {
    defaultView.removeEventListener(
      'resize',
      refreshPreview
    );
  };
}, [] );

編集領域内のelementからownerDocumentとdefaultViewを取得し、同じ処理の登録と解除をuseRefEffect内で対にします。案件へそのままコピーする完成コードではなく、公式移行ガイドの考え方を読み替えた説明例です。

具体例:お知らせバナーを検収する

「表示されるか」だけでなく、編集から再読込まで操作を分けると、問題が起きた場所を特定しやすくなります。次は架空の独自ブロックを使った記入例です。

操作合格の例最初に確認する箇所の例
ブロックを追加候補から選べ、編集欄に表示されるblock.json、登録スクリプト
文言と色を変更その場でプレビューが変わるiframe内へ読み込む編集用CSS、DOM参照
独自ボタンを操作キーボードだけでも操作でき、フォーカスが見え、ボタン名と状態が支援技術へ伝わるアクセシブルネーム、フォーカス移動・復帰、状態通知
選択・解除・削除・再挿入操作が重複して実行されないownerDocument、defaultView、イベント登録と解除
保存して再読込入力内容と表示が保たれるattributes、save()またはrender.php、post meta、非推奨化・移行処理
公開画面を確認編集画面と意図した見た目が一致するフロント用CSS、出力HTML

実務のポイント:「独自ブロックあり」だけでは見積や検収が曖昧です。対象ブロック名、試す操作、合格状態、問題時の戻し方までセットで渡します。

影響を受けやすい実装

  • 独自のカスタムブロック:編集領域の要素を、管理画面側のグローバルなdocumentやwindowから直接操作している。
  • 編集画面の拡張機能:キャンバス内の要素へイベントを登録するボタンやパネルを追加している。
  • エディター用CSS:管理画面全体の階層や、iframeの外側にある要素を前提にセレクタを組んでいる。

iframe内の編集キャンバスは管理画面側とは別のdocumentとwindowを持つため、グローバル参照では意図した編集領域を操作できない場合があります。公式が挙げる代表的な対応は、対象要素のownerDocumentとdefaultViewを参照すること、キャンバス要素のイベント登録と解除にuseRefEffectを使うことです。

ただし、独自機能があるから必ず不具合が起きる、という意味ではありません。実装内容を確認し、対象機能を実際に操作して判断します。

更新前は5段階で確認する

  1. 案件で使うカスタムブロック、編集拡張、エディター用CSSを一覧にする。
  2. 編集領域のDOM操作やイベント登録を行う箇所があるかコードを確認する。
  3. 本番外の確認環境へWordPress 7.1を適用する。
  4. 投稿・固定ページで、追加、編集、並べ替え、保存、再読込まで操作する。
  5. 問題箇所、修正内容、確認結果、本番での戻し方を記録する。

実装担当・協力会社と共有する検収メモ例

架空の確認依頼

対象:カスタムブロック「お知らせバナー」、編集拡張「目次自動生成」
環境:本番ではなく確認用環境
操作:ブロックの追加・編集・保存・再読込、拡張ボタンの操作、編集画面の表示
報告:確認結果と、問題があった場合の修正箇所・戻し方

機能名だけでなく、どの環境で、どの操作を行い、何を報告するかまで書くと、発注側と実装側で検収条件をそろえられます。制作会社の既存チェックシートがある場合は、その更新項目へ追加すれば十分です。

既存の制作フローに合わせて確認できます

GreenCodingでは、制作会社・広告会社の既存フローやコーディング規約に合わせ、WordPressの既存テーマ調整、更新画面の構築、プラグイン・PHP更新、表示崩れの原因調査を支援します。独自ブロックや編集拡張の確認範囲、確認環境、本番反映後の読戻しまで、必要な工程だけご相談いただけます。

制作会社・広告会社向けのWordPress実装支援を見る

参考にした公式情報

最終確認日:2026年9月16日。検収メモは説明用の架空例です。実際の確認対象は、案件のテーマ、プラグイン、独自実装に合わせて決めます。

公式参照情報

Web案件の進め方が未確定でも、
ご相談いただけます。

支給資料と現在決まっている範囲を確認し、必要な工程、役割分担、実装・検証範囲を整理します。

制作パートナー向けサービスを見る