Editor: Move core blocks registration to init hook

After working on support for register_block_type_args filter in #49615, it became clear that we need to use init action for core blocks to make it possible to use this filter.

Fixes #50263.



git-svn-id: https://develop.svn.wordpress.org/trunk@48279 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Greg Ziółkowski 2020-07-02 17:20:28 +00:00
parent 3acf97a7ce
commit 3439a14e57
2 changed files with 46 additions and 36 deletions

View File

@ -18,41 +18,50 @@ require ABSPATH . WPINC . '/blocks/shortcode.php';
require ABSPATH . WPINC . '/blocks/social-link.php';
require ABSPATH . WPINC . '/blocks/tag-cloud.php';
$block_folders = array(
'audio',
'button',
'buttons',
'classic',
'code',
'column',
'columns',
'file',
'gallery',
'group',
'heading',
'html',
'image',
'list',
'media-text',
'missing',
'more',
'nextpage',
'paragraph',
'preformatted',
'pullquote',
'quote',
'separator',
'social-links',
'spacer',
'subhead',
'table',
'text-columns',
'verse',
'video',
);
foreach ( $block_folders as $block_folder ) {
register_block_type_from_metadata(
ABSPATH . WPINC . '/blocks/' . $block_folder
/**
* Registers core block types using metadata files.
* Dynamic core blocks are registered separately.
*
* @since 5.5.0
*/
function register_core_block_types_from_metadata() {
$block_folders = array(
'audio',
'button',
'buttons',
'classic',
'code',
'column',
'columns',
'file',
'gallery',
'group',
'heading',
'html',
'image',
'list',
'media-text',
'missing',
'more',
'nextpage',
'paragraph',
'preformatted',
'pullquote',
'quote',
'separator',
'social-links',
'spacer',
'subhead',
'table',
'text-columns',
'verse',
'video',
);
foreach ( $block_folders as $block_folder ) {
register_block_type_from_metadata(
ABSPATH . WPINC . '/blocks/' . $block_folder
);
}
}
add_action( 'init', 'register_core_block_types_from_metadata' );

View File

@ -314,5 +314,6 @@ function _unhook_block_registration() {
remove_action( 'init', 'register_block_core_social_link' );
remove_action( 'init', 'register_block_core_social_link' );
remove_action( 'init', 'register_block_core_tag_cloud' );
remove_action( 'init', 'register_core_block_types_from_metadata' );
}
tests_add_filter( 'init', '_unhook_block_registration', 1000 );