diff --git a/docs/designers-developers/developers/backward-compatibility/deprecations.md b/docs/designers-developers/developers/backward-compatibility/deprecations.md index 12b1771484923..b5df2462e1050 100644 --- a/docs/designers-developers/developers/backward-compatibility/deprecations.md +++ b/docs/designers-developers/developers/backward-compatibility/deprecations.md @@ -35,6 +35,7 @@ The Gutenberg project's deprecation policy is intended to support backward compa - The PHP function `register_tinymce_scripts` has been removed. Use [`wp_register_tinymce_scripts`](https://developer.wordpress.org/reference/functions/wp_register_tinymce_scripts/) instead. - The PHP function `gutenberg_register_post_types` has been removed. - The `gutenberg` theme support option has been removed. Use [`align-wide`](https://wordpress.org/gutenberg/handbook/designers-developers/developers/themes/theme-support/#wide-alignment) instead. +- The PHP function `gutenberg_prepare_blocks_for_js` has been removed. Use [`get_block_editor_server_block_settings`](https://developer.wordpress.org/reference/functions/get_block_editor_server_block_settings/) instead. ## 4.5.0 - `Dropdown.refresh()` has been deprecated as the contained `Popover` is now automatically refreshed. diff --git a/lib/client-assets.php b/lib/client-assets.php index f072ee348402a..d33ebdd12fe93 100644 --- a/lib/client-assets.php +++ b/lib/client-assets.php @@ -702,28 +702,14 @@ function gutenberg_register_vendor_script( $handle, $src, $deps = array() ) { * array of registered block data keyed by block name. Data includes properties * of a block relevant for client registration. * + * @deprecated 5.0.0 get_block_editor_server_block_settings + * * @return array An associative array of registered block data. */ function gutenberg_prepare_blocks_for_js() { - $block_registry = WP_Block_Type_Registry::get_instance(); - $blocks = array(); - $keys_to_pick = array( 'title', 'description', 'icon', 'category', 'keywords', 'supports', 'attributes' ); - - foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) { - foreach ( $keys_to_pick as $key ) { - if ( ! isset( $block_type->{ $key } ) ) { - continue; - } - - if ( ! isset( $blocks[ $block_name ] ) ) { - $blocks[ $block_name ] = array(); - } - - $blocks[ $block_name ][ $key ] = $block_type->{ $key }; - } - } + _deprecated_function( __FUNCTION__, '5.0.0', 'get_block_editor_server_block_settings' ); - return $blocks; + return get_block_editor_server_block_settings(); } /** @@ -1081,7 +1067,7 @@ function gutenberg_editor_scripts_and_styles( $hook ) { // Preload server-registered block schemas. wp_add_inline_script( 'wp-blocks', - 'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . json_encode( gutenberg_prepare_blocks_for_js() ) . ');' + 'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . json_encode( get_block_editor_server_block_settings() ) . ');' ); // Get admin url for handling meta boxes. diff --git a/phpunit/class-prepare-for-js-test.php b/phpunit/class-prepare-for-js-test.php deleted file mode 100644 index 38dceb8fec6df..0000000000000 --- a/phpunit/class-prepare-for-js-test.php +++ /dev/null @@ -1,34 +0,0 @@ -unregister( 'core/dummy' ); - } - - function test_gutenberg_prepare_blocks_for_js() { - $name = 'core/dummy'; - $settings = array( - 'icon' => 'text', - 'render_callback' => 'foo', - ); - - register_block_type( $name, $settings ); - - $blocks = gutenberg_prepare_blocks_for_js(); - - $this->assertArrayHasKey( $name, $blocks ); - $this->assertSame( array( 'icon' => 'text' ), $blocks[ $name ] ); - } -}