From 953dfc113178605087222f038b401752e28b01af Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Tue, 16 Feb 2021 10:15:53 +0200 Subject: [PATCH 01/16] Allow falling back to php templates --- lib/full-site-editing/template-loader.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index e0047b81c21f1c..413cf81a0ed54c 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -65,6 +65,17 @@ function gutenberg_override_query_template( $template, $type, array $templates = global $_wp_current_template_content; $current_template = gutenberg_resolve_template( $type, $templates ); + $current_legacy_template = basename( $template, '.php' ); + $block_template_slug = is_object( $current_template ) ? $current_template->slug : false; + + foreach ( $templates as $item ) { + $legacy_slug = gutenberg_strip_php_suffix( $item ); + + if ( $block_template_slug !== $current_legacy_template && $legacy_slug === $current_legacy_template ) { + return $template; + } + } + if ( $current_template ) { $_wp_current_template_content = empty( $current_template->content ) ? __( 'Empty template.', 'gutenberg' ) : $current_template->content; From d930f7d4439222286aa9aaf8636e2495d4770421 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Tue, 16 Feb 2021 10:17:53 +0200 Subject: [PATCH 02/16] inline doc --- lib/full-site-editing/template-loader.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index 413cf81a0ed54c..bc143fac4526d7 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -65,9 +65,9 @@ function gutenberg_override_query_template( $template, $type, array $templates = global $_wp_current_template_content; $current_template = gutenberg_resolve_template( $type, $templates ); + // Allow falling back to a PHP template if it has a higher priority than the block template. $current_legacy_template = basename( $template, '.php' ); $block_template_slug = is_object( $current_template ) ? $current_template->slug : false; - foreach ( $templates as $item ) { $legacy_slug = gutenberg_strip_php_suffix( $item ); From 4962acd5eaedf499464c0538c38cc4175421b26f Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Wed, 24 Feb 2021 14:50:08 +0200 Subject: [PATCH 03/16] WIP --- gutenberg.php | 26 ++++--- lib/client-assets.php | 2 +- lib/compat.php | 2 +- lib/editor-settings.php | 4 +- lib/full-site-editing/full-site-editing.php | 67 ------------------- lib/full-site-editing/page-templates.php | 4 -- lib/full-site-editing/template-loader.php | 4 -- lib/full-site-editing/template-parts.php | 12 ---- lib/full-site-editing/templates.php | 11 --- lib/global-styles.php | 8 +-- .../utils/get-closest-available-template.js | 14 ++++ 11 files changed, 32 insertions(+), 122 deletions(-) diff --git a/gutenberg.php b/gutenberg.php index 499bab1626109a..55fe52b1ebb222 100644 --- a/gutenberg.php +++ b/gutenberg.php @@ -102,20 +102,18 @@ function gutenberg_menu() { * @since 9.4.0 */ function gutenberg_site_editor_menu() { - if ( gutenberg_is_fse_theme() ) { - add_menu_page( - __( 'Site Editor (beta)', 'gutenberg' ), - sprintf( - /* translators: %s: "beta" label. */ - __( 'Site Editor %s', 'gutenberg' ), - '' . __( 'beta', 'gutenberg' ) . '' - ), - 'edit_theme_options', - 'gutenberg-edit-site', - 'gutenberg_edit_site_page', - 'dashicons-layout' - ); - } + add_menu_page( + __( 'Site Editor (beta)', 'gutenberg' ), + sprintf( + /* translators: %s: "beta" label. */ + __( 'Site Editor %s', 'gutenberg' ), + '' . __( 'beta', 'gutenberg' ) . '' + ), + 'edit_theme_options', + 'gutenberg-edit-site', + 'gutenberg_edit_site_page', + 'dashicons-layout' + ); } add_action( 'admin_menu', 'gutenberg_site_editor_menu', 9 ); diff --git a/lib/client-assets.php b/lib/client-assets.php index d686310288594b..582d229c11fbf8 100644 --- a/lib/client-assets.php +++ b/lib/client-assets.php @@ -698,7 +698,7 @@ function gutenberg_extend_block_editor_settings_with_default_editor_styles( $set * @return array Filtered editor settings. */ function gutenberg_extend_block_editor_settings_with_fse_theme_flag( $settings ) { - $settings['isFSETheme'] = gutenberg_is_fse_theme(); + $settings['isFSETheme'] = true; return $settings; } add_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_settings_with_fse_theme_flag' ); diff --git a/lib/compat.php b/lib/compat.php index a941e27245abc2..deb670a6453ed8 100644 --- a/lib/compat.php +++ b/lib/compat.php @@ -85,7 +85,7 @@ function gutenberg_add_date_settings_timezone( $scripts ) { * @return bool */ function gutenberg_should_load_separate_block_styles() { - $load_separate_styles = gutenberg_is_fse_theme(); + $load_separate_styles = true; /** * Determine if separate styles will be loaded for blocks on-render or not. * diff --git a/lib/editor-settings.php b/lib/editor-settings.php index e50141f1f3aca7..3ef238be60c06d 100644 --- a/lib/editor-settings.php +++ b/lib/editor-settings.php @@ -39,7 +39,7 @@ function gutenberg_get_common_block_editor_settings() { }; $settings = array( - '__unstableEnableFullSiteEditingBlocks' => gutenberg_is_fse_theme(), + '__unstableEnableFullSiteEditingBlocks' => true, 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ), 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ), 'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ), @@ -77,7 +77,7 @@ function gutenberg_get_common_block_editor_settings() { * @return array Filtered settings. */ function gutenberg_extend_post_editor_settings( $settings ) { - $settings['__unstableEnableFullSiteEditingBlocks'] = gutenberg_is_fse_theme(); + $settings['__unstableEnableFullSiteEditingBlocks'] = true; return $settings; } add_filter( 'block_editor_settings', 'gutenberg_extend_post_editor_settings' ); diff --git a/lib/full-site-editing/full-site-editing.php b/lib/full-site-editing/full-site-editing.php index 68e6d42d2f6bf5..4d9d6651327c83 100644 --- a/lib/full-site-editing/full-site-editing.php +++ b/lib/full-site-editing/full-site-editing.php @@ -5,58 +5,6 @@ * @package gutenberg */ -/** - * Returns whether the current theme is an FSE theme or not. - * - * @return boolean Whether the current theme is an FSE theme or not. - */ -function gutenberg_is_fse_theme() { - return is_readable( get_stylesheet_directory() . '/block-templates/index.html' ); -} - -/** - * Show a notice when a Full Site Editing theme is used. - */ -function gutenberg_full_site_editing_notice() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - ?> -
-

-
- $menu_item ) { - if ( - false !== strpos( $menu_item[2], 'customize.php' ) || - false !== strpos( $menu_item[2], 'gutenberg-widgets' ) - ) { - $indexes_to_remove[] = $index; - } - } - - foreach ( $indexes_to_remove as $index ) { - unset( $submenu['themes.php'][ $index ] ); - } - } -} - -add_action( 'admin_menu', 'gutenberg_remove_legacy_pages' ); - /** * Removes legacy adminbar items from FSE themes. * @@ -64,17 +12,6 @@ function gutenberg_remove_legacy_pages() { */ function gutenberg_adminbar_items( $wp_admin_bar ) { - // Early exit if not an FSE theme. - if ( ! gutenberg_is_fse_theme() ) { - return; - } - - // Remove customizer link. - $wp_admin_bar->remove_node( 'customize' ); - $wp_admin_bar->remove_node( 'customize-background' ); - $wp_admin_bar->remove_node( 'customize-header' ); - $wp_admin_bar->remove_node( 'widgets' ); - // Add site-editor link. if ( ! is_admin() && current_user_can( 'edit_theme_options' ) ) { $wp_admin_bar->add_node( @@ -101,10 +38,6 @@ function gutenberg_adminbar_items( $wp_admin_bar ) { * @param array $menu_order Menu Order. */ function gutenberg_menu_order( $menu_order ) { - if ( ! gutenberg_is_fse_theme() ) { - return $menu_order; - } - $new_positions = array( // Position the site editor before the appearance menu. 'gutenberg-edit-site' => array_search( 'themes.php', $menu_order, true ), diff --git a/lib/full-site-editing/page-templates.php b/lib/full-site-editing/page-templates.php index 6c5a11c8a40e23..31584599947214 100644 --- a/lib/full-site-editing/page-templates.php +++ b/lib/full-site-editing/page-templates.php @@ -15,10 +15,6 @@ * @return array (Maybe) modified page templates array. */ function gutenberg_load_block_page_templates( $templates, $theme, $post, $post_type ) { - if ( ! gutenberg_is_fse_theme() ) { - return $templates; - } - $data = WP_Theme_JSON_Resolver::get_theme_data()->get_custom_templates(); $custom_templates = array(); if ( isset( $data ) ) { diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index bc143fac4526d7..c3da05fdc77c52 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -9,10 +9,6 @@ * Adds necessary filters to use 'wp_template' posts instead of theme template files. */ function gutenberg_add_template_loader_filters() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - foreach ( gutenberg_get_template_type_slugs() as $template_type ) { if ( 'embed' === $template_type ) { // Skip 'embed' for now because it is not a regular template type. continue; diff --git a/lib/full-site-editing/template-parts.php b/lib/full-site-editing/template-parts.php index 0e5de90a23546c..45754a47d180b5 100644 --- a/lib/full-site-editing/template-parts.php +++ b/lib/full-site-editing/template-parts.php @@ -9,10 +9,6 @@ * Registers block editor 'wp_template_part' post type. */ function gutenberg_register_template_part_post_type() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - $labels = array( 'name' => __( 'Template Parts', 'gutenberg' ), 'singular_name' => __( 'Template Part', 'gutenberg' ), @@ -64,10 +60,6 @@ function gutenberg_register_template_part_post_type() { * Registers the 'wp_template_part_area' taxonomy. */ function gutenberg_register_wp_template_part_area_taxonomy() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - register_taxonomy( 'wp_template_part_area', array( 'wp_template_part' ), @@ -107,10 +99,6 @@ function gutenberg_register_wp_template_part_area_taxonomy() { * Fixes the label of the 'wp_template_part' admin menu entry. */ function gutenberg_fix_template_part_admin_menu_entry() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - global $submenu; if ( ! isset( $submenu['themes.php'] ) ) { return; diff --git a/lib/full-site-editing/templates.php b/lib/full-site-editing/templates.php index 6362d7716c3c1c..e74ac7646d4535 100644 --- a/lib/full-site-editing/templates.php +++ b/lib/full-site-editing/templates.php @@ -28,10 +28,6 @@ function gutenberg_get_template_paths() { * Registers block editor 'wp_template' post type. */ function gutenberg_register_template_post_type() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - $labels = array( 'name' => __( 'Templates', 'gutenberg' ), 'singular_name' => __( 'Template', 'gutenberg' ), @@ -84,10 +80,6 @@ function gutenberg_register_template_post_type() { * Registers block editor 'wp_theme' taxonomy. */ function gutenberg_register_wp_theme_taxonomy() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } - register_taxonomy( 'wp_theme', array( 'wp_template', 'wp_template_part' ), @@ -139,9 +131,6 @@ function gutenberg_grant_template_caps( array $allcaps ) { * Fixes the label of the 'wp_template' admin menu entry. */ function gutenberg_fix_template_admin_menu_entry() { - if ( ! gutenberg_is_fse_theme() ) { - return; - } global $submenu; if ( ! isset( $submenu['themes.php'] ) ) { return; diff --git a/lib/global-styles.php b/lib/global-styles.php index 9419759fc00325..0292f3cd92e8f9 100644 --- a/lib/global-styles.php +++ b/lib/global-styles.php @@ -201,10 +201,7 @@ function gutenberg_experimental_global_styles_settings( $settings ) { unset( $settings['gradients'] ); $origin = 'theme'; - if ( - WP_Theme_JSON_Resolver::theme_has_support() && - gutenberg_is_fse_theme() - ) { + if ( WP_Theme_JSON_Resolver::theme_has_support() ) { // Only lookup for the user data if we need it. $origin = 'user'; } @@ -228,8 +225,7 @@ function gutenberg_experimental_global_styles_settings( $settings ) { ! empty( $screen ) && function_exists( 'gutenberg_is_edit_site_page' ) && gutenberg_is_edit_site_page( $screen->id ) && - WP_Theme_JSON_Resolver::theme_has_support() && - gutenberg_is_fse_theme() + WP_Theme_JSON_Resolver::theme_has_support() ) { $user_cpt_id = WP_Theme_JSON_Resolver::get_user_custom_post_type_id(); $base_styles = WP_Theme_JSON_Resolver::get_merged_data( $theme_support_data, 'theme' )->get_raw_data(); diff --git a/packages/edit-site/src/utils/get-closest-available-template.js b/packages/edit-site/src/utils/get-closest-available-template.js index e73be0204d753a..37400a1e01fa1f 100644 --- a/packages/edit-site/src/utils/get-closest-available-template.js +++ b/packages/edit-site/src/utils/get-closest-available-template.js @@ -4,6 +4,20 @@ import { find } from 'lodash'; export default function getClosestAvailableTemplate( slug, templates ) { + if ( ! templates.length ) { + return { + id: 'index', + content: { + raw: '', + }, + slug: 'index', + is_custom: false, + type: 'wp_template', + status: 'publish', + wp_id: null, + }; + } + const template = find( templates, { slug } ); if ( template ) { return template; From 3fe3ba0c4e4e93d5df359146a5fbac222bc8f7e5 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Wed, 24 Feb 2021 15:25:24 +0200 Subject: [PATCH 04/16] Remove isFSETheme & isFSEEnabled --- lib/client-assets.php | 13 ------------- .../src/components/sidebar/post-template/index.js | 12 +++--------- packages/edit-post/src/editor.js | 4 +--- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/lib/client-assets.php b/lib/client-assets.php index 582d229c11fbf8..5ff0ea6d5939b4 100644 --- a/lib/client-assets.php +++ b/lib/client-assets.php @@ -690,19 +690,6 @@ function gutenberg_extend_block_editor_settings_with_default_editor_styles( $set } add_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_settings_with_default_editor_styles' ); -/** - * Adds a flag to the editor settings to know whether we're in FSE theme or not. - * - * @param array $settings Default editor settings. - * - * @return array Filtered editor settings. - */ -function gutenberg_extend_block_editor_settings_with_fse_theme_flag( $settings ) { - $settings['isFSETheme'] = true; - return $settings; -} -add_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_settings_with_fse_theme_flag' ); - /** * Sets the editor styles to be consumed by JS. */ diff --git a/packages/edit-post/src/components/sidebar/post-template/index.js b/packages/edit-post/src/components/sidebar/post-template/index.js index 806f49fa04edb3..d1dd069f7c7fb8 100644 --- a/packages/edit-post/src/components/sidebar/post-template/index.js +++ b/packages/edit-post/src/components/sidebar/post-template/index.js @@ -15,7 +15,7 @@ import { store as noticesStore } from '@wordpress/notices'; import { store as editPostStore } from '../../../store'; function PostTemplate() { - const { template, isEditing, isFSETheme } = useSelect( ( select ) => { + const { template, isEditing } = useSelect( ( select ) => { const { getEditedPostAttribute, getCurrentPostType, @@ -26,26 +26,20 @@ function PostTemplate() { ); const { isEditingTemplate } = select( editPostStore ); const link = getEditedPostAttribute( 'link' ); - const isFSEEnabled = select( editorStore ).getEditorSettings() - .isFSETheme; const isViewable = getPostType( getCurrentPostType() )?.viewable ?? false; return { template: - isFSEEnabled && - isViewable && - link && - getCurrentPost().status !== 'auto-draft' + isViewable && link && getCurrentPost().status !== 'auto-draft' ? __experimentalGetTemplateForLink( link ) : null, isEditing: isEditingTemplate(), - isFSETheme: isFSEEnabled, }; }, [] ); const { setIsEditingTemplate } = useDispatch( editPostStore ); const { createSuccessNotice } = useDispatch( noticesStore ); - if ( ! isFSETheme || ! template ) { + if ( ! template ) { return null; } diff --git a/packages/edit-post/src/editor.js b/packages/edit-post/src/editor.js index 11a82a1e899d34..13ebfcf7958b47 100644 --- a/packages/edit-post/src/editor.js +++ b/packages/edit-post/src/editor.js @@ -63,7 +63,7 @@ function Editor( { getPostType, getEntityRecords, } = select( 'core' ); - const { getEditorSettings, getCurrentPost } = select( 'core/editor' ); + const { getCurrentPost } = select( 'core/editor' ); const { getBlockTypes } = select( blocksStore ); const isTemplate = [ 'wp_template', 'wp_template_part' ].includes( postType @@ -79,7 +79,6 @@ function Editor( { } else { postObject = getEntityRecord( 'postType', postType, postId ); } - const isFSETheme = getEditorSettings().isFSETheme; const isViewable = getPostType( postType )?.viewable ?? false; // Prefetch and parse patterns. This ensures patterns are loaded and parsed when @@ -104,7 +103,6 @@ function Editor( { keepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ), isTemplateMode: isEditingTemplate(), template: - isFSETheme && isViewable && postObject && getCurrentPost().status !== 'auto-draft' From c7866de10a851e512fe17a0cb38540e5a01364d0 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Thu, 25 Feb 2021 12:50:26 +0200 Subject: [PATCH 05/16] revert & refine --- gutenberg.php | 26 ++-- lib/client-assets.php | 13 ++ lib/compat.php | 2 +- lib/editor-settings.php | 4 +- lib/full-site-editing/full-site-editing.php | 112 +++++++++++++++++- lib/full-site-editing/page-templates.php | 4 + lib/full-site-editing/template-loader.php | 4 + lib/full-site-editing/template-parts.php | 12 ++ lib/full-site-editing/templates.php | 11 ++ lib/global-styles.php | 8 +- .../utils/get-closest-available-template.js | 14 --- 11 files changed, 178 insertions(+), 32 deletions(-) diff --git a/gutenberg.php b/gutenberg.php index 55fe52b1ebb222..b20a7e68507d99 100644 --- a/gutenberg.php +++ b/gutenberg.php @@ -102,18 +102,20 @@ function gutenberg_menu() { * @since 9.4.0 */ function gutenberg_site_editor_menu() { - add_menu_page( - __( 'Site Editor (beta)', 'gutenberg' ), - sprintf( - /* translators: %s: "beta" label. */ - __( 'Site Editor %s', 'gutenberg' ), - '' . __( 'beta', 'gutenberg' ) . '' - ), - 'edit_theme_options', - 'gutenberg-edit-site', - 'gutenberg_edit_site_page', - 'dashicons-layout' - ); + if ( gutenberg_is_fse_enabled() ) { + add_menu_page( + __( 'Site Editor (beta)', 'gutenberg' ), + sprintf( + /* translators: %s: "beta" label. */ + __( 'Site Editor %s', 'gutenberg' ), + '' . __( 'beta', 'gutenberg' ) . '' + ), + 'edit_theme_options', + 'gutenberg-edit-site', + 'gutenberg_edit_site_page', + 'dashicons-layout' + ); + } } add_action( 'admin_menu', 'gutenberg_site_editor_menu', 9 ); diff --git a/lib/client-assets.php b/lib/client-assets.php index 5ff0ea6d5939b4..d686310288594b 100644 --- a/lib/client-assets.php +++ b/lib/client-assets.php @@ -690,6 +690,19 @@ function gutenberg_extend_block_editor_settings_with_default_editor_styles( $set } add_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_settings_with_default_editor_styles' ); +/** + * Adds a flag to the editor settings to know whether we're in FSE theme or not. + * + * @param array $settings Default editor settings. + * + * @return array Filtered editor settings. + */ +function gutenberg_extend_block_editor_settings_with_fse_theme_flag( $settings ) { + $settings['isFSETheme'] = gutenberg_is_fse_theme(); + return $settings; +} +add_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_settings_with_fse_theme_flag' ); + /** * Sets the editor styles to be consumed by JS. */ diff --git a/lib/compat.php b/lib/compat.php index deb670a6453ed8..49cc8feb79d5ea 100644 --- a/lib/compat.php +++ b/lib/compat.php @@ -85,7 +85,7 @@ function gutenberg_add_date_settings_timezone( $scripts ) { * @return bool */ function gutenberg_should_load_separate_block_styles() { - $load_separate_styles = true; + $load_separate_styles = gutenberg_is_fse_enabled(); /** * Determine if separate styles will be loaded for blocks on-render or not. * diff --git a/lib/editor-settings.php b/lib/editor-settings.php index 3ef238be60c06d..038dc5ad1f6ab5 100644 --- a/lib/editor-settings.php +++ b/lib/editor-settings.php @@ -39,7 +39,7 @@ function gutenberg_get_common_block_editor_settings() { }; $settings = array( - '__unstableEnableFullSiteEditingBlocks' => true, + '__unstableEnableFullSiteEditingBlocks' => gutenberg_is_fse_enabled(), 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ), 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ), 'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ), @@ -77,7 +77,7 @@ function gutenberg_get_common_block_editor_settings() { * @return array Filtered settings. */ function gutenberg_extend_post_editor_settings( $settings ) { - $settings['__unstableEnableFullSiteEditingBlocks'] = true; + $settings['__unstableEnableFullSiteEditingBlocks'] = gutenberg_is_fse_enabled(); return $settings; } add_filter( 'block_editor_settings', 'gutenberg_extend_post_editor_settings' ); diff --git a/lib/full-site-editing/full-site-editing.php b/lib/full-site-editing/full-site-editing.php index 4d9d6651327c83..03ed425325829c 100644 --- a/lib/full-site-editing/full-site-editing.php +++ b/lib/full-site-editing/full-site-editing.php @@ -5,6 +5,67 @@ * @package gutenberg */ +/** + * Returns whether the FSE is enabled or not. + * + * @return boolean Whether FSE is enabled or not. + */ +function gutenberg_is_fse_enabled() { + return gutenberg_is_fse_theme() || get_option( 'gutenberg_enable_fse' ); +} + +/** + * Returns whether the current theme is an FSE theme or not. + * + * @return boolean Whether the current theme is an FSE theme or not. + */ +function gutenberg_is_fse_theme() { + return is_readable( get_stylesheet_directory() . '/block-templates/index.html' ); +} + +/** + * Show a notice when a Full Site Editing theme is used. + */ +function gutenberg_full_site_editing_notice() { + if ( ! gutenberg_is_fse_theme() ) { + return; + } + ?> +
+

+
+ $menu_item ) { + if ( + false !== strpos( $menu_item[2], 'customize.php' ) || + false !== strpos( $menu_item[2], 'gutenberg-widgets' ) + ) { + $indexes_to_remove[] = $index; + } + } + + foreach ( $indexes_to_remove as $index ) { + unset( $submenu['themes.php'][ $index ] ); + } + } +} + +add_action( 'admin_menu', 'gutenberg_remove_legacy_pages' ); + /** * Removes legacy adminbar items from FSE themes. * @@ -12,8 +73,16 @@ */ function gutenberg_adminbar_items( $wp_admin_bar ) { + // Remove items if an FSE theme. + if ( ! gutenberg_is_fse_theme() ) { + $wp_admin_bar->remove_node( 'customize' ); + $wp_admin_bar->remove_node( 'customize-background' ); + $wp_admin_bar->remove_node( 'customize-header' ); + $wp_admin_bar->remove_node( 'widgets' ); + } + // Add site-editor link. - if ( ! is_admin() && current_user_can( 'edit_theme_options' ) ) { + if ( gutenberg_is_fse_enabled() && ! is_admin() && current_user_can( 'edit_theme_options' ) ) { $wp_admin_bar->add_node( array( 'id' => 'site-editor', @@ -38,6 +107,10 @@ function gutenberg_adminbar_items( $wp_admin_bar ) { * @param array $menu_order Menu Order. */ function gutenberg_menu_order( $menu_order ) { + if ( ! gutenberg_is_fse_enabled() ) { + return $menu_order; + } + $new_positions = array( // Position the site editor before the appearance menu. 'gutenberg-edit-site' => array_search( 'themes.php', $menu_order, true ), @@ -54,3 +127,40 @@ function gutenberg_menu_order( $menu_order ) { } return $menu_order; } + +/** + * Add option under "General" settings to enable FSE. + * + * @return void + */ +function gutenberg_add_fse_general_setting() { + + // Register the setting. + register_setting( + 'general', + 'gutenberg_enable_fse', + array( + 'type' => 'boolean', + 'default' => false, + 'sanitize_callback' => function( $val ) { + return (bool) $val; + }, + ) + ); + + // Add the field. + add_settings_field( + 'gutenberg_enable_fse', + esc_html__( 'Allow creating templates using the block editor', 'gutenberg' ), + function() { + ?> + /> + 'gutenberg_enable_fse' ) + ); +} +add_action('admin_init', 'gutenberg_add_fse_general_setting'); + diff --git a/lib/full-site-editing/page-templates.php b/lib/full-site-editing/page-templates.php index 31584599947214..9c22c935c9f6b6 100644 --- a/lib/full-site-editing/page-templates.php +++ b/lib/full-site-editing/page-templates.php @@ -15,6 +15,10 @@ * @return array (Maybe) modified page templates array. */ function gutenberg_load_block_page_templates( $templates, $theme, $post, $post_type ) { + if ( ! gutenberg_is_fse_enabled() ) { + return $templates; + } + $data = WP_Theme_JSON_Resolver::get_theme_data()->get_custom_templates(); $custom_templates = array(); if ( isset( $data ) ) { diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index c3da05fdc77c52..341326c3ef189d 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -9,6 +9,10 @@ * Adds necessary filters to use 'wp_template' posts instead of theme template files. */ function gutenberg_add_template_loader_filters() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } + foreach ( gutenberg_get_template_type_slugs() as $template_type ) { if ( 'embed' === $template_type ) { // Skip 'embed' for now because it is not a regular template type. continue; diff --git a/lib/full-site-editing/template-parts.php b/lib/full-site-editing/template-parts.php index 45754a47d180b5..7c18158c952b32 100644 --- a/lib/full-site-editing/template-parts.php +++ b/lib/full-site-editing/template-parts.php @@ -9,6 +9,10 @@ * Registers block editor 'wp_template_part' post type. */ function gutenberg_register_template_part_post_type() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } + $labels = array( 'name' => __( 'Template Parts', 'gutenberg' ), 'singular_name' => __( 'Template Part', 'gutenberg' ), @@ -60,6 +64,10 @@ function gutenberg_register_template_part_post_type() { * Registers the 'wp_template_part_area' taxonomy. */ function gutenberg_register_wp_template_part_area_taxonomy() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } + register_taxonomy( 'wp_template_part_area', array( 'wp_template_part' ), @@ -99,6 +107,10 @@ function gutenberg_register_wp_template_part_area_taxonomy() { * Fixes the label of the 'wp_template_part' admin menu entry. */ function gutenberg_fix_template_part_admin_menu_entry() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } + global $submenu; if ( ! isset( $submenu['themes.php'] ) ) { return; diff --git a/lib/full-site-editing/templates.php b/lib/full-site-editing/templates.php index e74ac7646d4535..8f4a856b6d1ca7 100644 --- a/lib/full-site-editing/templates.php +++ b/lib/full-site-editing/templates.php @@ -28,6 +28,10 @@ function gutenberg_get_template_paths() { * Registers block editor 'wp_template' post type. */ function gutenberg_register_template_post_type() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } + $labels = array( 'name' => __( 'Templates', 'gutenberg' ), 'singular_name' => __( 'Template', 'gutenberg' ), @@ -80,6 +84,10 @@ function gutenberg_register_template_post_type() { * Registers block editor 'wp_theme' taxonomy. */ function gutenberg_register_wp_theme_taxonomy() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } + register_taxonomy( 'wp_theme', array( 'wp_template', 'wp_template_part' ), @@ -131,6 +139,9 @@ function gutenberg_grant_template_caps( array $allcaps ) { * Fixes the label of the 'wp_template' admin menu entry. */ function gutenberg_fix_template_admin_menu_entry() { + if ( ! gutenberg_is_fse_enabled() ) { + return; + } global $submenu; if ( ! isset( $submenu['themes.php'] ) ) { return; diff --git a/lib/global-styles.php b/lib/global-styles.php index 0292f3cd92e8f9..39a52e962567d3 100644 --- a/lib/global-styles.php +++ b/lib/global-styles.php @@ -201,7 +201,10 @@ function gutenberg_experimental_global_styles_settings( $settings ) { unset( $settings['gradients'] ); $origin = 'theme'; - if ( WP_Theme_JSON_Resolver::theme_has_support() ) { + if ( + WP_Theme_JSON_Resolver::theme_has_support() && + gutenberg_is_fse_enabled() + ) { // Only lookup for the user data if we need it. $origin = 'user'; } @@ -225,7 +228,8 @@ function gutenberg_experimental_global_styles_settings( $settings ) { ! empty( $screen ) && function_exists( 'gutenberg_is_edit_site_page' ) && gutenberg_is_edit_site_page( $screen->id ) && - WP_Theme_JSON_Resolver::theme_has_support() + WP_Theme_JSON_Resolver::theme_has_support() && + gutenberg_is_fse_enabled() ) { $user_cpt_id = WP_Theme_JSON_Resolver::get_user_custom_post_type_id(); $base_styles = WP_Theme_JSON_Resolver::get_merged_data( $theme_support_data, 'theme' )->get_raw_data(); diff --git a/packages/edit-site/src/utils/get-closest-available-template.js b/packages/edit-site/src/utils/get-closest-available-template.js index 37400a1e01fa1f..e73be0204d753a 100644 --- a/packages/edit-site/src/utils/get-closest-available-template.js +++ b/packages/edit-site/src/utils/get-closest-available-template.js @@ -4,20 +4,6 @@ import { find } from 'lodash'; export default function getClosestAvailableTemplate( slug, templates ) { - if ( ! templates.length ) { - return { - id: 'index', - content: { - raw: '', - }, - slug: 'index', - is_custom: false, - type: 'wp_template', - status: 'publish', - wp_id: null, - }; - } - const template = find( templates, { slug } ); if ( template ) { return template; From 670a7639862cccfd38885300a2c0b75a22af7972 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Thu, 25 Feb 2021 12:59:16 +0200 Subject: [PATCH 06/16] Missed these in previous revert --- lib/client-assets.php | 2 +- .../src/components/sidebar/post-template/index.js | 12 +++++++++--- packages/edit-post/src/editor.js | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/client-assets.php b/lib/client-assets.php index d686310288594b..17b5c3f8bf1a1b 100644 --- a/lib/client-assets.php +++ b/lib/client-assets.php @@ -698,7 +698,7 @@ function gutenberg_extend_block_editor_settings_with_default_editor_styles( $set * @return array Filtered editor settings. */ function gutenberg_extend_block_editor_settings_with_fse_theme_flag( $settings ) { - $settings['isFSETheme'] = gutenberg_is_fse_theme(); + $settings['isFSETheme'] = gutenberg_is_fse_enabled(); return $settings; } add_filter( 'block_editor_settings', 'gutenberg_extend_block_editor_settings_with_fse_theme_flag' ); diff --git a/packages/edit-post/src/components/sidebar/post-template/index.js b/packages/edit-post/src/components/sidebar/post-template/index.js index d1dd069f7c7fb8..806f49fa04edb3 100644 --- a/packages/edit-post/src/components/sidebar/post-template/index.js +++ b/packages/edit-post/src/components/sidebar/post-template/index.js @@ -15,7 +15,7 @@ import { store as noticesStore } from '@wordpress/notices'; import { store as editPostStore } from '../../../store'; function PostTemplate() { - const { template, isEditing } = useSelect( ( select ) => { + const { template, isEditing, isFSETheme } = useSelect( ( select ) => { const { getEditedPostAttribute, getCurrentPostType, @@ -26,20 +26,26 @@ function PostTemplate() { ); const { isEditingTemplate } = select( editPostStore ); const link = getEditedPostAttribute( 'link' ); + const isFSEEnabled = select( editorStore ).getEditorSettings() + .isFSETheme; const isViewable = getPostType( getCurrentPostType() )?.viewable ?? false; return { template: - isViewable && link && getCurrentPost().status !== 'auto-draft' + isFSEEnabled && + isViewable && + link && + getCurrentPost().status !== 'auto-draft' ? __experimentalGetTemplateForLink( link ) : null, isEditing: isEditingTemplate(), + isFSETheme: isFSEEnabled, }; }, [] ); const { setIsEditingTemplate } = useDispatch( editPostStore ); const { createSuccessNotice } = useDispatch( noticesStore ); - if ( ! template ) { + if ( ! isFSETheme || ! template ) { return null; } diff --git a/packages/edit-post/src/editor.js b/packages/edit-post/src/editor.js index 13ebfcf7958b47..11a82a1e899d34 100644 --- a/packages/edit-post/src/editor.js +++ b/packages/edit-post/src/editor.js @@ -63,7 +63,7 @@ function Editor( { getPostType, getEntityRecords, } = select( 'core' ); - const { getCurrentPost } = select( 'core/editor' ); + const { getEditorSettings, getCurrentPost } = select( 'core/editor' ); const { getBlockTypes } = select( blocksStore ); const isTemplate = [ 'wp_template', 'wp_template_part' ].includes( postType @@ -79,6 +79,7 @@ function Editor( { } else { postObject = getEntityRecord( 'postType', postType, postId ); } + const isFSETheme = getEditorSettings().isFSETheme; const isViewable = getPostType( postType )?.viewable ?? false; // Prefetch and parse patterns. This ensures patterns are loaded and parsed when @@ -103,6 +104,7 @@ function Editor( { keepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ), isTemplateMode: isEditingTemplate(), template: + isFSETheme && isViewable && postObject && getCurrentPost().status !== 'auto-draft' From dbe1e8a17d0ce69cecf5949d5f759ec036799a9a Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Thu, 25 Feb 2021 13:02:27 +0200 Subject: [PATCH 07/16] Add the fallback again --- .../src/utils/get-closest-available-template.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/edit-site/src/utils/get-closest-available-template.js b/packages/edit-site/src/utils/get-closest-available-template.js index e73be0204d753a..43de8c133a06d5 100644 --- a/packages/edit-site/src/utils/get-closest-available-template.js +++ b/packages/edit-site/src/utils/get-closest-available-template.js @@ -4,6 +4,22 @@ import { find } from 'lodash'; export default function getClosestAvailableTemplate( slug, templates ) { + + // Fallback in case there are no templates. + if ( ! templates.length ) { + return { + id: 'index', + content: { + raw: '', + }, + slug: 'index', + is_custom: false, + type: 'wp_template', + status: 'publish', + wp_id: null, + }; + } + const template = find( templates, { slug } ); if ( template ) { return template; From e8a5bbccc36270548b1c74cb51ca7bd22d9f1b20 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Thu, 25 Feb 2021 13:02:51 +0200 Subject: [PATCH 08/16] cs --- packages/edit-site/src/utils/get-closest-available-template.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/edit-site/src/utils/get-closest-available-template.js b/packages/edit-site/src/utils/get-closest-available-template.js index 43de8c133a06d5..415e38c1286daa 100644 --- a/packages/edit-site/src/utils/get-closest-available-template.js +++ b/packages/edit-site/src/utils/get-closest-available-template.js @@ -4,7 +4,6 @@ import { find } from 'lodash'; export default function getClosestAvailableTemplate( slug, templates ) { - // Fallback in case there are no templates. if ( ! templates.length ) { return { From c93b84fb5528b3702189e67851682db6e6156366 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Thu, 25 Feb 2021 13:51:41 +0200 Subject: [PATCH 09/16] Move option to experiments --- lib/experiments-page.php | 11 ++++++ lib/full-site-editing/full-site-editing.php | 39 +-------------------- 2 files changed, 12 insertions(+), 38 deletions(-) diff --git a/lib/experiments-page.php b/lib/experiments-page.php index 05be96ef6ec7d6..64b357db690b6a 100644 --- a/lib/experiments-page.php +++ b/lib/experiments-page.php @@ -62,6 +62,17 @@ function gutenberg_initialize_experiments_settings() { 'id' => 'gutenberg-widgets-in-customizer', ) ); + add_settings_field( + 'gutenberg-fse', + __( 'Full Site Editing', 'gutenberg' ), + 'gutenberg_display_experiment_field', + 'gutenberg-experiments', + 'gutenberg_experiments_section', + array( + 'label' => __( 'Allow creating templates using the block editor', 'gutenberg' ), + 'id' => 'gutenberg-fse', + ) + ); register_setting( 'gutenberg-experiments', 'gutenberg-experiments' diff --git a/lib/full-site-editing/full-site-editing.php b/lib/full-site-editing/full-site-editing.php index 03ed425325829c..f002e278871d03 100644 --- a/lib/full-site-editing/full-site-editing.php +++ b/lib/full-site-editing/full-site-editing.php @@ -11,7 +11,7 @@ * @return boolean Whether FSE is enabled or not. */ function gutenberg_is_fse_enabled() { - return gutenberg_is_fse_theme() || get_option( 'gutenberg_enable_fse' ); + return gutenberg_is_fse_theme() || gutenberg_is_experiment_enabled( 'gutenberg-fse' ); } /** @@ -127,40 +127,3 @@ function gutenberg_menu_order( $menu_order ) { } return $menu_order; } - -/** - * Add option under "General" settings to enable FSE. - * - * @return void - */ -function gutenberg_add_fse_general_setting() { - - // Register the setting. - register_setting( - 'general', - 'gutenberg_enable_fse', - array( - 'type' => 'boolean', - 'default' => false, - 'sanitize_callback' => function( $val ) { - return (bool) $val; - }, - ) - ); - - // Add the field. - add_settings_field( - 'gutenberg_enable_fse', - esc_html__( 'Allow creating templates using the block editor', 'gutenberg' ), - function() { - ?> - /> - 'gutenberg_enable_fse' ) - ); -} -add_action('admin_init', 'gutenberg_add_fse_general_setting'); - From 44dba240070198bb2effa36b042e318227f57aaf Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Thu, 25 Feb 2021 13:53:18 +0200 Subject: [PATCH 10/16] Only show the experiment if not an FSE theme --- lib/experiments-page.php | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/lib/experiments-page.php b/lib/experiments-page.php index 64b357db690b6a..cf39448bbe80f0 100644 --- a/lib/experiments-page.php +++ b/lib/experiments-page.php @@ -62,17 +62,19 @@ function gutenberg_initialize_experiments_settings() { 'id' => 'gutenberg-widgets-in-customizer', ) ); - add_settings_field( - 'gutenberg-fse', - __( 'Full Site Editing', 'gutenberg' ), - 'gutenberg_display_experiment_field', - 'gutenberg-experiments', - 'gutenberg_experiments_section', - array( - 'label' => __( 'Allow creating templates using the block editor', 'gutenberg' ), - 'id' => 'gutenberg-fse', - ) - ); + if ( ! gutenberg_is_fse_theme() ) { + add_settings_field( + 'gutenberg-fse', + __( 'Full Site Editing', 'gutenberg' ), + 'gutenberg_display_experiment_field', + 'gutenberg-experiments', + 'gutenberg_experiments_section', + array( + 'label' => __( 'Allow creating templates using the block editor', 'gutenberg' ), + 'id' => 'gutenberg-fse', + ) + ); + } register_setting( 'gutenberg-experiments', 'gutenberg-experiments' From 0878b04efbe1b6e5264d5e2649f9aa85dc6ec20b Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Fri, 26 Feb 2021 11:26:51 +0200 Subject: [PATCH 11/16] Massaging var names - pros @draganescu --- lib/full-site-editing/template-loader.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index bc143fac4526d7..1d70591f8d4e2c 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -66,12 +66,14 @@ function gutenberg_override_query_template( $template, $type, array $templates = $current_template = gutenberg_resolve_template( $type, $templates ); // Allow falling back to a PHP template if it has a higher priority than the block template. - $current_legacy_template = basename( $template, '.php' ); - $block_template_slug = is_object( $current_template ) ? $current_template->slug : false; - foreach ( $templates as $item ) { - $legacy_slug = gutenberg_strip_php_suffix( $item ); - - if ( $block_template_slug !== $current_legacy_template && $legacy_slug === $current_legacy_template ) { + $current_template_slug = basename( $template, '.php' ); + $current_block_template_slug = is_object( $current_template ) ? $current_template->slug : false; + foreach ( $templates as $template_item) { + $template_item_slug = gutenberg_strip_php_suffix( $template_item); + + // Don't override the template if we find a template matching the slug we look for + // and which does not match a block template slug + if ( $current_template_slug !== $current_block_template_slug && $current_template_slug === $template_item_slug) { return $template; } } From 46eaf1c406ff423bd84861a14fadbdd67bbdb502 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Fri, 26 Feb 2021 11:32:40 +0200 Subject: [PATCH 12/16] Fix condition --- lib/full-site-editing/full-site-editing.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/full-site-editing/full-site-editing.php b/lib/full-site-editing/full-site-editing.php index f002e278871d03..36b5b8f9c23ed9 100644 --- a/lib/full-site-editing/full-site-editing.php +++ b/lib/full-site-editing/full-site-editing.php @@ -74,7 +74,7 @@ function gutenberg_remove_legacy_pages() { function gutenberg_adminbar_items( $wp_admin_bar ) { // Remove items if an FSE theme. - if ( ! gutenberg_is_fse_theme() ) { + if ( gutenberg_is_fse_theme() ) { $wp_admin_bar->remove_node( 'customize' ); $wp_admin_bar->remove_node( 'customize-background' ); $wp_admin_bar->remove_node( 'customize-header' ); From 5a0f1080896643dbd2e8a8be9ee6ebe62a9b0d0e Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Fri, 26 Feb 2021 11:38:36 +0200 Subject: [PATCH 13/16] Run phpcbf to fix PHP CS issues --- phpunit/class-gutenberg-utils-test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpunit/class-gutenberg-utils-test.php b/phpunit/class-gutenberg-utils-test.php index ed7e5ebea9fd6f..f683cbd6a64fda 100644 --- a/phpunit/class-gutenberg-utils-test.php +++ b/phpunit/class-gutenberg-utils-test.php @@ -134,7 +134,7 @@ public function test_invalid_parameters_set() { public function test_gutenberg_get_minified_styles() { $cases = array( array( - 'in' => ' + 'in' => ' /** * Comment */ @@ -145,7 +145,7 @@ public function test_gutenberg_get_minified_styles() { 'out' => '.foo{bar:1}', ), array( - 'in' => '/* Comment */#foo{content:" "; bar: 0; + 'in' => '/* Comment */#foo{content:" "; bar: 0; }', 'out' => '#foo{content:" ";bar:0}', ), From 1fe8fcedb7030fcea925d3c7af40c3c4a8b54a76 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Fri, 26 Feb 2021 11:42:17 +0200 Subject: [PATCH 14/16] CS fix --- lib/full-site-editing/template-loader.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index 1d70591f8d4e2c..fc1a1c6eaaeea1 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -68,12 +68,12 @@ function gutenberg_override_query_template( $template, $type, array $templates = // Allow falling back to a PHP template if it has a higher priority than the block template. $current_template_slug = basename( $template, '.php' ); $current_block_template_slug = is_object( $current_template ) ? $current_template->slug : false; - foreach ( $templates as $template_item) { - $template_item_slug = gutenberg_strip_php_suffix( $template_item); + foreach ( $templates as $template_item ) { + $template_item_slug = gutenberg_strip_php_suffix( $template_item ); // Don't override the template if we find a template matching the slug we look for // and which does not match a block template slug - if ( $current_template_slug !== $current_block_template_slug && $current_template_slug === $template_item_slug) { + if ( $current_template_slug !== $current_block_template_slug && $current_template_slug === $template_item_slug ) { return $template; } } From ce824059e4a940808ace8aa93293607e89bc419f Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Fri, 26 Feb 2021 12:01:37 +0200 Subject: [PATCH 15/16] full-stop --- lib/full-site-editing/template-loader.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/full-site-editing/template-loader.php b/lib/full-site-editing/template-loader.php index fc1a1c6eaaeea1..f90f07c02fff55 100644 --- a/lib/full-site-editing/template-loader.php +++ b/lib/full-site-editing/template-loader.php @@ -72,7 +72,7 @@ function gutenberg_override_query_template( $template, $type, array $templates = $template_item_slug = gutenberg_strip_php_suffix( $template_item ); // Don't override the template if we find a template matching the slug we look for - // and which does not match a block template slug + // and which does not match a block template slug. if ( $current_template_slug !== $current_block_template_slug && $current_template_slug === $template_item_slug ) { return $template; } From 9aa4faefadcad309a1b1883d702bbde05d0b5500 Mon Sep 17 00:00:00 2001 From: Ari Stathopoulos Date: Tue, 23 Mar 2021 12:32:44 +0200 Subject: [PATCH 16/16] merge conflict --- lib/compat.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/compat.php b/lib/compat.php index 43a0cb1adc3726..76fa9a9e066d1a 100644 --- a/lib/compat.php +++ b/lib/compat.php @@ -13,7 +13,7 @@ * * @return bool */ -function gutenberg_should_load_separate_block_styles() { +function gutenberg_should_load_separate_block_assets() { $load_separate_styles = gutenberg_is_fse_enabled(); /** * Determine if separate styles will be loaded for blocks on-render or not.