WordPress.org

Make WordPress Core

Ticket #53410: 53410.diff

File 53410.diff, 2.2 KB (added by desrosj, 3 months ago)
  • src/wp-admin/customize.php

     
    184184                        <?php
    185185                        $compatible_wp  = is_wp_version_compatible( $wp_customize->theme()->get( 'RequiresWP' ) );
    186186                        $compatible_php = is_php_version_compatible( $wp_customize->theme()->get( 'RequiresPHP' ) );
     187                        $fse_safe = true;
     188
     189                        // Make sure that the theme will not cause problems with FSE if activated.
     190                        $theme_tags = $wp_customize->theme()->get( 'Tags' );
     191
     192                        if ( ! empty( $theme_tags ) && in_array( 'full-site-editing', $theme_tags, true ) && ! is_plugin_active( 'gutenberg/gutenberg.php' ) ) {
     193                                $fse_safe = false;
     194                        }
    187195                        ?>
    188                         <?php if ( $compatible_wp && $compatible_php ) : ?>
     196                        <?php if ( $compatible_wp && $compatible_php && $fse_safe ) : ?>
    189197                                <?php $save_text = $wp_customize->is_theme_active() ? __( 'Publish' ) : __( 'Activate &amp; Publish' ); ?>
    190198                                <div id="customize-save-button-wrapper" class="customize-save-button-wrapper" >
    191199                                        <?php submit_button( $save_text, 'primary save', 'save', false ); ?>
  • src/wp-includes/theme.php

     
    908908function validate_theme_requirements( $stylesheet ) {
    909909        $theme = wp_get_theme( $stylesheet );
    910910
     911        // If the site is a Full Site Editing theme, check for the presence of the Gutenberg plugin.
     912        $theme_tags = $theme->get( 'Tags' );
     913
     914        if ( ! empty( $theme_tags ) && in_array( 'full-site-editing', $theme_tags, true ) && ! is_plugin_active( 'gutenberg/gutenberg.php' ) ) {
     915                return new WP_Error(
     916                                'theme_requires_fse',
     917                                sprintf(
     918                                /* translators: %s: Theme name. */
     919                                                _x( '<strong>Error:</strong> %s is a Full Site Editing theme, which requires the Gutenberg plugin.', 'theme' ),
     920                                                $theme->display( 'Name' )
     921                                )
     922                );
     923        }
     924
    911925        $requirements = array(
    912926                'requires'     => ! empty( $theme->get( 'RequiresWP' ) ) ? $theme->get( 'RequiresWP' ) : '',
    913927                'requires_php' => ! empty( $theme->get( 'RequiresPHP' ) ) ? $theme->get( 'RequiresPHP' ) : '',