WordPress.org

Make WordPress Core

Ticket #32002: 32002.7.diff

File 32002.7.diff, 4.9 KB (added by ocean90, 5 years ago)
  • src/wp-admin/css/themes.css

     
    259259        box-shadow: inset 0 1px 1px rgba(0,0,0,0.5);
    260260}
    261261
     262.theme-browser .customize-control .theme.active .theme-name {
     263        padding-right: 15px;
     264}
     265
    262266.theme-browser .theme.active .theme-name span {
    263267        font-weight: 600;
    264268}
  • src/wp-admin/includes/theme.php

     
    502502         * @param array $prepared_themes Array of themes.
    503503         */
    504504        $prepared_themes = apply_filters( 'wp_prepare_themes_for_js', $prepared_themes );
    505         return array_values( $prepared_themes );
     505        $prepared_themes = array_values( $prepared_themes );
     506        return array_filter( $prepared_themes );
    506507}
    507508
    508509/**
  • src/wp-includes/class-wp-customize-control.php

     
    12431243         */
    12441244        public function content_template() {
    12451245                $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
     1246                $active_url  = esc_url( remove_query_arg( 'theme', $current_url ) );
    12461247                $preview_url = esc_url( add_query_arg( 'theme', '__THEME__', $current_url ) ); // Token because esc_url() strips curly braces.
    12471248                $preview_url = str_replace( '__THEME__', '{{ data.theme.id }}', $preview_url );
    12481249                ?>
    1249                 <div class="theme" tabindex="0" data-preview-url="<?php echo esc_attr( $preview_url ); ?>" aria-describedby="{{ data.theme.id }}-action {{ data.theme.id }}-name">
     1250                <# if ( data.theme.isActiveTheme ) { #>
     1251                        <div class="theme active" tabindex="0" data-preview-url="<?php echo esc_attr( $active_url ); ?>" aria-describedby="{{ data.theme.id }}-action {{ data.theme.id }}-name">
     1252                <# } else { #>
     1253                        <div class="theme" tabindex="0" data-preview-url="<?php echo esc_attr( $preview_url ); ?>" aria-describedby="{{ data.theme.id }}-action {{ data.theme.id }}-name">
     1254                <# } #>
     1255
    12501256                        <# if ( data.theme.screenshot[0] ) { #>
    12511257                                <div class="theme-screenshot">
    12521258                                        <img data-src="{{ data.theme.screenshot[0] }}" alt="" />
     
    12541260                        <# } else { #>
    12551261                                <div class="theme-screenshot blank"></div>
    12561262                        <# } #>
    1257                         <span class="more-details" id="{{ data.theme.id }}-action"><?php _e( 'Live Preview' ); ?></span>
     1263
     1264                        <# if ( data.theme.isActiveTheme ) { #>
     1265                                <span class="more-details" id="{{ data.theme.id }}-action"><?php _e( 'Customize' ); ?></span>
     1266                        <# } else { #>
     1267                                <span class="more-details" id="{{ data.theme.id }}-action"><?php _e( 'Live Preview' ); ?></span>
     1268                        <# } #>
     1269
    12581270                        <div class="theme-author"><?php printf( __( 'By %s' ), '{{ data.theme.author }}' ); ?></div>
    12591271
    1260                         <h3 class="theme-name" id="{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
    1261 
    1262                         <div class="theme-actions">
    1263                                 <button type="button" class="button theme-details"><?php _e( 'Theme Details' ); ?></button>
    1264                         </div>
     1272                        <# if ( data.theme.isActiveTheme ) { #>
     1273                                <h3 class="theme-name" id="{{ data.theme.id }}-name">
     1274                                        <?php
     1275                                        /* translators: %s: theme name */
     1276                                        printf( __( '<span>Active:</span> %s' ), '{{ data.theme.name }}' );
     1277                                        ?>
     1278                                </h3>
     1279                        <# } else { #>
     1280                                <h3 class="theme-name" id="{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
     1281                                <div class="theme-actions">
     1282                                        <button type="button" class="button theme-details"><?php _e( 'Theme Details' ); ?></button>
     1283                                </div>
     1284                        <# } #>
    12651285                </div>
    12661286        <?php
    12671287        }
  • src/wp-includes/class-wp-customize-manager.php

     
    11981198                require_once( ABSPATH . 'wp-admin/includes/theme.php' );
    11991199
    12001200                // Theme Controls.
     1201
     1202                // Add a control for the active/original theme.
     1203                if ( ! $this->is_theme_active() ) {
     1204                        $themes = wp_prepare_themes_for_js( array( wp_get_theme( $this->original_stylesheet ) ) );
     1205                        $active_theme = current( $themes );
     1206                        $active_theme['isActiveTheme'] = true;
     1207                        $this->add_control( new WP_Customize_Theme_Control( $this, $active_theme['id'], array(
     1208                                'theme'    => $active_theme,
     1209                                'section'  => 'themes',
     1210                                'settings' => 'active_theme',
     1211                        ) ) );
     1212                }
     1213
    12011214                $themes = wp_prepare_themes_for_js();
    12021215                foreach ( $themes as $theme ) {
    1203                         if ( $theme['active'] ) {
     1216                        if ( $theme['active'] || $theme['id'] === $this->original_stylesheet ) {
    12041217                                continue;
    12051218                        }
    12061219
    12071220                        $theme_id = 'theme_' . $theme['id'];
     1221                        $theme['isActiveTheme'] = false;
    12081222                        $this->add_control( new WP_Customize_Theme_Control( $this, $theme_id, array(
    12091223                                'theme'    => $theme,
    12101224                                'section'  => 'themes',