diff -r 34716fd837a4 -r be944660c56a wp/wp-admin/widgets-form-blocks.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-admin/widgets-form-blocks.php Wed Sep 21 18:19:35 2022 +0200 @@ -0,0 +1,81 @@ +is_block_editor( true ); + +$block_editor_context = new WP_Block_Editor_Context(); + +$preload_paths = array( + array( '/wp/v2/media', 'OPTIONS' ), + '/wp/v2/sidebars?context=edit&per_page=-1', + '/wp/v2/widgets?context=edit&per_page=-1&_embed=about', +); +block_editor_rest_api_preload( $preload_paths, $block_editor_context ); + +$editor_settings = get_block_editor_settings( + array_merge( get_legacy_widget_block_editor_settings(), array( 'styles' => get_block_editor_theme_styles() ) ), + $block_editor_context +); + +// The widgets editor does not support the Block Directory, so don't load any of +// its assets. This also prevents 'wp-editor' from being enqueued which we +// cannot load in the widgets screen because many widget scripts rely on `wp.editor`. +remove_action( 'enqueue_block_editor_assets', 'wp_enqueue_editor_block_directory_assets' ); + +wp_add_inline_script( + 'wp-edit-widgets', + sprintf( + 'wp.domReady( function() { + wp.editWidgets.initialize( "widgets-editor", %s ); + } );', + wp_json_encode( $editor_settings ) + ) +); + +// Preload server-registered block schemas. +wp_add_inline_script( + 'wp-blocks', + 'wp.blocks.unstable__bootstrapServerSideBlockDefinitions(' . wp_json_encode( get_block_editor_server_block_settings() ) . ');' +); + +wp_add_inline_script( + 'wp-blocks', + sprintf( 'wp.blocks.setCategories( %s );', wp_json_encode( get_block_categories( $block_editor_context ) ) ), + 'after' +); + +wp_enqueue_script( 'wp-edit-widgets' ); +wp_enqueue_script( 'admin-widgets' ); +wp_enqueue_style( 'wp-edit-widgets' ); + +/** This action is documented in wp-admin/edit-form-blocks.php */ +do_action( 'enqueue_block_editor_assets' ); + +/** This action is documented in wp-admin/widgets-form.php */ +do_action( 'sidebar_admin_setup' ); + +require_once ABSPATH . 'wp-admin/admin-header.php'; + +/** This action is documented in wp-admin/widgets-form.php */ +do_action( 'widgets_admin_page' ); +?> + +
+ +