unregisterBlockType で ブロックを削除する。

HandBook のほうには、

wp.blocks.unregisterBlockType( 'core/verse' );

をするとブロックの登録を解除できるという話だったのですが、このまま書いても解除されないんですよね。

何故かというと、core/verse が 登録される前に unregisterBlockType が実行されてしまうからです。なので、Gutenberg / ブロックエディタの初期化処理が終了してから、こいつを実行してあげる必要があります。

const { _wpLoadBlockEditor } = window;
const { unregisterBlockType } = wp.blocks;
_wpLoadBlockEditor.then( () => {
    unregisterBlockType( 'core/verse' );
} );

こんな感じで、_wpLoadBlockEditor の完了を待ってから実行すれば良いみたいです。

_wpLoadBlockEditor はこんな感じです。


window._wpLoadBlockEditor = new Promise( function( resolve ) {
	wp.domReady( function() {
		resolve( wp.editPost.initializeEditor( 'editor', "%s", %d, %s, %s ) );
	} );
} );

覚えておくと何かの役に立つかもしれません。