WordPress
Gutenberg

WordPress5.0でプラグインの新規追加画面・編集画面が真っ白になった場合の対処

2018-12-10追記

翌日に後述のコードを外したところ、不具合が出なくなっていました。
諸々検証していますが、原因は特定できていません…すみません。詳しくはコメントを参照ください。


既出かもしれませんが、WordPress5.0からの新しいブロックエディタ「Gutenberg」と、何かを登録する前提となっているプラグインの衝突に関して共有しておきます。

  • ACF Pro 5.7.8と、MW WP Form 4.0.4で確認しています。
  • ブラウザはMacOS Chromeの最新バージョンです。
  • 「Advanced Custom Fields」については、次期バージョンではブロックエディタにも対応したいとのことなので、暫定措置と捉えてください。

なぜ真っ白になるのか

こちらで高橋文樹さんが詳細に解説してくださっていますが、プラグインの編集画面が「エディタが存在しない投稿タイプ」となっている関係で、ブロックエディタが有効になっているとエラーになるそうです。

https://capitalp.jp/2018/08/14/fate-of-customfield-craftmans/

つまり、それぞれのプラグインが投稿タイプを持っているはずで、そのときにブロックエディタを無効にできれば直るはずです。

結論

function.phpに、以下のコードを追加してください。
高橋さんのサンプルコードでは無効にしなくて良い場合はtrueを返していませんでしたが、私の環境ではtrueを返さないとすべての投稿タイプで無効になってしまいました。

ACFの場合

acf_on_wp5.php
function WS_remove_block_editor( $user_block_editor, $post ) {
    if ( $post->post_type === 'acf-field-group' ) {
        $use_block_editor = false;
    } else {
        $use_block_editor = true;
    }
    return $use_block_editor;
}
add_filter( 'use_block_editor_for_post', 'WS_remove_block_editor', 10, 2 );

MW WP Formの場合

mwwpf_on_wp5.php
function WS_remove_block_editor( $user_block_editor, $post ) {
    if ( $post->post_type === 'mw-wp-form' ) {
        $use_block_editor = false;
    } else {
        $use_block_editor = true;
    }
    return $use_block_editor;
}
add_filter( 'use_block_editor_for_post', 'WS_remove_block_editor', 10, 2 );

両方の場合

mwwpf_on_wp5.php
function WS_remove_block_editor( $user_block_editor, $post ) {
    if (
        ( $post->post_type === 'acf-field-group' )
        ||( $post->post_type === 'mw-wp-form' )
    ) {
        $use_block_editor = false;
    } else {
        $use_block_editor = true;
    }
    return $use_block_editor;
}
add_filter( 'use_block_editor_for_post', 'WS_remove_block_editor', 10, 2 );

Gutenbergさんと仲良くするために

高橋文樹さんのブログ内連載「Before Gutenberg」に目を通しておくと、当面の疑問は解消されるかと思います。

https://capitalp.jp/tag/before-gutenberg/