Make WordPress Core


Ignore:
Timestamp:
03/04/2022 02:37:58 AM (2 years ago)
Author:
peterwilsoncc
Message:

Themes: Hide block themes' live preview link following installation.

Prevent the Customizer/Live Preview button from showing for installed block themes when on the theme installation page.

Props antonvlasenko, costdev, ironprogrammer.
Fixes #54878.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/ajax-actions.php

    r52170 r52819  
    35693569    $update_php = network_admin_url( 'update.php?action=install-theme' );
    35703570
     3571    $installed_themes = search_theme_directories();
     3572
     3573    if ( false === $installed_themes ) {
     3574        $installed_themes = array();
     3575    }
     3576
     3577    foreach ( $installed_themes as $theme_slug => $theme_data ) {
     3578        // Ignore child themes.
     3579        if ( str_contains( $theme_slug, '/' ) ) {
     3580            unset( $installed_themes[ $theme_slug ] );
     3581        }
     3582    }
     3583
    35713584    foreach ( $api->themes as &$theme ) {
    35723585        $theme->install_url = add_query_arg(
     
    36003613        }
    36013614
     3615        $is_theme_installed = array_key_exists( $theme->slug, $installed_themes );
     3616
     3617        // We only care about installed themes.
     3618        $theme->block_theme = $is_theme_installed && wp_get_theme( $theme->slug )->is_block_theme();
     3619
    36023620        if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
     3621            $customize_url = $theme->block_theme ? admin_url( 'site-editor.php' ) : wp_customize_url( $theme->slug );
     3622
    36033623            $theme->customize_url = add_query_arg(
    36043624                array(
    36053625                    'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ),
    36063626                ),
    3607                 wp_customize_url( $theme->slug )
     3627                $customize_url
    36083628            );
    36093629        }
     
    41394159        }
    41404160    }
     4161
     4162    $theme = wp_get_theme( $slug );
     4163    $status['blockTheme'] = $theme->is_block_theme();
    41414164
    41424165    if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
Note: See TracChangeset for help on using the changeset viewer.