Block Editor: Introduce block templates for classic themes.
With this patch, users will be able to create custom block based templates and assign them to specific pages/posts. Themes can also opt-out of this feature Props bernhard-reiter, carlomanf. Fixes #53176. Built from https://develop.svn.wordpress.org/trunk@51003 git-svn-id: http://core.svn.wordpress.org/trunk@50612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -2662,3 +2662,65 @@ function wp_maybe_inline_styles() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Inject the block editor assets that need to be loaded into the editor's iframe as an inline script.
|
||||
*
|
||||
* @since 5.8.0
|
||||
*/
|
||||
function wp_add_iframed_editor_assets_html() {
|
||||
$script_handles = array();
|
||||
$style_handles = array(
|
||||
'wp-block-editor',
|
||||
'wp-block-library',
|
||||
'wp-block-library-theme',
|
||||
'wp-edit-blocks',
|
||||
);
|
||||
|
||||
$block_registry = WP_Block_Type_Registry::get_instance();
|
||||
|
||||
foreach ( $block_registry->get_all_registered() as $block_type ) {
|
||||
if ( ! empty( $block_type->style ) ) {
|
||||
$style_handles[] = $block_type->style;
|
||||
}
|
||||
|
||||
if ( ! empty( $block_type->editor_style ) ) {
|
||||
$style_handles[] = $block_type->editor_style;
|
||||
}
|
||||
|
||||
if ( ! empty( $block_type->script ) ) {
|
||||
$script_handles[] = $block_type->script;
|
||||
}
|
||||
}
|
||||
|
||||
$style_handles = array_unique( $style_handles );
|
||||
$done = wp_styles()->done;
|
||||
|
||||
ob_start();
|
||||
|
||||
wp_styles()->done = array();
|
||||
wp_styles()->do_items( $style_handles );
|
||||
wp_styles()->done = $done;
|
||||
|
||||
$styles = ob_get_clean();
|
||||
|
||||
$script_handles = array_unique( $script_handles );
|
||||
$done = wp_scripts()->done;
|
||||
|
||||
ob_start();
|
||||
|
||||
wp_scripts()->done = array();
|
||||
wp_scripts()->do_items( $script_handles );
|
||||
wp_scripts()->done = $done;
|
||||
|
||||
$scripts = ob_get_clean();
|
||||
|
||||
$editor_assets = wp_json_encode(
|
||||
array(
|
||||
'styles' => $styles,
|
||||
'scripts' => $scripts,
|
||||
)
|
||||
);
|
||||
|
||||
echo "<script>window.__editorAssets = $editor_assets</script>";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user