WordPress.org

Make WordPress Core

Ticket #32002: 32002.2.patch

File 32002.2.patch, 3.2 KB (added by ocean90, 5 years ago)
  • src/wp-includes/class-wp-customize-control.php

     
    12681268}
    12691269
    12701270/**
     1271 * Customize Active Theme Control class.
     1272 *
     1273 * @since 4.2.0
     1274 *
     1275 * @see WP_Customize_Control
     1276 */
     1277class WP_Customize_Active_Theme_Control extends WP_Customize_Control {
     1278
     1279        /**
     1280         * Customize control type.
     1281         *
     1282         * @since 4.2.0
     1283         * @access public
     1284         * @var string
     1285         */
     1286        public $type = 'active_theme';
     1287
     1288        /**
     1289         * Theme object.
     1290         *
     1291         * @since 4.2.0
     1292         * @access public
     1293         * @var WP_Theme
     1294         */
     1295        public $theme;
     1296
     1297        /**
     1298         * Render control's content from PHP.
     1299         *
     1300         * @since 4.2.0
     1301         * @access public
     1302         */
     1303        public function render_content() {
     1304                $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
     1305                $preview_url = esc_url( remove_query_arg( 'theme', $current_url ) );
     1306                $aria_action = esc_attr( $this->theme['id'] . '-action' );
     1307                $aria_name   = esc_attr( $this->theme['id'] . '-name' );
     1308                ?>
     1309                <div class="theme active" tabindex="0" data-preview-url="<?php echo esc_attr( $preview_url ); ?>"  aria-describedby="<?php echo $aria_action . ' ' . $aria_name; ?>">
     1310                        <?php if ( ! empty( $this->theme['screenshot'][0] ) ) { ?>
     1311                                <div class="theme-screenshot">
     1312                                        <img src="<?php echo $this->theme['screenshot'][0]; ?>" alt="" />
     1313                                </div>
     1314                        <?php } else { ?>
     1315                                <div class="theme-screenshot blank"></div>
     1316                        <?php } ?>
     1317                        <span class="more-details" id="<?php echo $aria_action; ?>"><?php _e( 'Customize' ); ?></span>
     1318                        <div class="theme-author"><?php printf( __( 'By %s' ), $this->theme['author'] ); ?></div>
     1319
     1320                        <h3 class="theme-name" id="<?php echo $aria_name; ?>">
     1321                                <?php
     1322                                /* translators: %s: theme name */
     1323                                printf( __( '<span>Active:</span> %s' ), $this->theme['name'] );
     1324                                ?>
     1325                        </h3>
     1326                </div>
     1327                <?php
     1328        }
     1329}
     1330
     1331/**
    12711332 * Widget Area Customize Control class.
    12721333 *
    12731334 * @since 3.9.0
  • src/wp-includes/class-wp-customize-manager.php

     
    11981198                require_once( ABSPATH . 'wp-admin/includes/theme.php' );
    11991199
    12001200                // Theme Controls.
     1201
     1202                if ( ! $this->is_theme_active() ) {
     1203                        /*
     1204                         * Add a control for the active/original theme.
     1205                         * The first array element of wp_prepare_themes_for_js() is empty,
     1206                         * because it's reserved for the current theme. But we want
     1207                         * prepared data for just one theme...
     1208                         */
     1209                        $active_theme = current( array_filter( wp_prepare_themes_for_js( array( wp_get_theme( $this->original_stylesheet ) ) ) ) );
     1210                        $this->add_control( new WP_Customize_Active_Theme_Control( $this, $active_theme['id'], array(
     1211                                'theme'    => $active_theme,
     1212                                'section'  => 'themes',
     1213                                'settings' => 'active_theme',
     1214                        ) ) );
     1215                }
     1216
    12011217                $themes = wp_prepare_themes_for_js();
    12021218                foreach ( $themes as $theme ) {
    1203                         if ( $theme['active'] ) {
     1219                        if ( $theme['active'] || $theme['stylesheet'] === $this->original_stylesheet ) {
    12041220                                continue;
    12051221                        }
    12061222