WordPress.org

Make WordPress Core

Ticket #31289: 31289.patch

File 31289.patch, 7.9 KB (added by ocean90, 6 years ago)
  • src/wp-admin/css/customize-controls.css

     
    862862        animation: customize-reload .75s;
    863863}
    864864
     865.control-section-themes .accordion-section-title {
     866        margin: 15px 0;
     867}
     868
     869.customize-themes-panel .accordion-section-title {
     870        margin: 15px -8px;
     871}
     872
     873.control-section-themes .accordion-section-title {
     874        padding-right: 100px; /* Space for the button */
     875}
     876
     877.control-section-themes .accordion-section-title span {
     878        font-size: small;
     879        display: block;
     880        font-weight: 400;
     881}
     882
     883.control-section-themes .accordion-section-title .change-theme {
     884        position: absolute;
     885        right: 10px;
     886        top: 50%;
     887        margin-top: -14px;
     888        font-weight: normal;
     889}
     890
    865891.customize-themes-panel {
    866892        display: none;
    867893        padding: 0 8px;
     
    869895        box-sizing: border-box;
    870896        -webkit-box-sizing: border-box;
    871897        -moz-box-sizing: border-box;
     898        box-sizing: border-box;
    872899}
    873900
    874901.control-section.open .customize-themes-panel {
     
    913940        width: 100%;
    914941}
    915942
    916 
    917 .wp-customizer .theme-browser .theme.active:hover,
    918 .wp-customizer .theme-browser .theme.active:focus {
    919         cursor: default;
    920 }
    921 
    922 .wp-customizer .theme-browser .theme.active .more-details {
     943#accordion-section-themes .accordion-section-title:after {
    923944        display: none;
    924945}
    925946
    926 .wp-customizer .theme-browser .theme.active .theme-name {
    927         padding-right: 15px;
    928 }
    929 
    930 .wp-customizer .theme-browser.rendered .theme.active:hover .theme-screenshot img,
    931 .wp-customizer .theme-browser.rendered .theme.active:focus .theme-screenshot img {
    932         opacity: 1;
    933 }
    934 
    935 /* Panel-like behavior */
    936 #accordion-section-themes .accordion-section-title:after {
    937         content: "\f148";
    938 }
    939 
    940 .rtl #accordion-section-themes .accordion-section-title:after {
    941         -webkit-transform: rotate(180deg);
    942         -ms-transform: rotate(180deg);
    943         transform: rotate(180deg);
    944 }
    945 
    946947#customize-theme-controls .control-section-themes.current-panel > h3.accordion-section-title {
    947948        left: 0;
    948949}
     
    960961        left: 100%;
    961962}
    962963
    963 .in-themes-panel .control-panel-back:before {
    964         content: "\f345";
    965         left: 14px;
    966 }
    967 
    968 .in-themes-panel .control-panel-back {
    969         left: 0;
    970 }
    971 
    972 .in-themes-panel .control-panel-back:before {
    973 }
    974 
    975964/* Details View */
    976965.wp-customizer .theme-overlay {
    977966        display: none;
     
    10191008        }
    10201009}
    10211010
    1022 
    1023 /** Handle cheaters. */
     1011/* Handle cheaters. */
    10241012body.cheatin {
    10251013        font-size: medium;
    10261014        height: auto;
  • src/wp-admin/js/customize-controls.js

     
    604604                                }
    605605                        });
    606606
    607 
    608                         $( '#customize-header-actions' ).on( 'click keydown', '.control-panel-back', function( event ) {
    609                                 if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
    610                                         return;
    611                                 }
    612 
    613                                 event.preventDefault(); // Keep this AFTER the key filter above
    614 
    615                                 if ( section.expanded() ) {
    616                                         section.collapse();
    617                                 }
    618                         });
    619 
    620607                        // Theme navigation in details view.
    621608                        section.container.on( 'click keydown', '.left', function( event ) {
    622609                                if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
     
    692679                                container = section.closest( '.wp-full-overlay-sidebar-content' ),
    693680                                siblings = container.find( '.open' ),
    694681                                topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
    695                                 backBtn = overlay.find( '.control-panel-back' ),
     682                                backBtn = section.find( '.customize-section-title' ),
    696683                                panelTitle = section.find( '.accordion-section-title' ).first(),
    697684                                content = section.find( '.control-panel-content' );
    698685
     
    722709                                        }
    723710                                } );
    724711                                topPanel.attr( 'tabindex', '-1' );
    725                                 backBtn.attr( 'tabindex', '0' );
    726712                                backBtn.focus();
    727713                        } else {
    728714                                siblings.removeClass( 'open' );
     
    735721                                        }
    736722                                } );
    737723                                topPanel.attr( 'tabindex', '0' );
    738                                 backBtn.attr( 'tabindex', '-1' );
    739724                                panelTitle.focus();
    740725                                container.scrollTop( 0 );
    741726                        }
     
    18991884                                        return;
    19001885                                }
    19011886
    1902                                 if ( $( this ).hasClass( 'active' ) ) {
    1903                                         return;
    1904                                 }
    1905 
    19061887                                var previewUrl = $( this ).data( 'previewUrl' );
    19071888
    19081889                                $( '.wp-full-overlay' ).addClass( 'customize-loading' );
  • src/wp-includes/class-wp-customize-manager.php

     
    11481148                /* Themes */
    11491149
    11501150                $this->add_section( new WP_Customize_Themes_Section( $this, 'themes', array(
    1151                         'title' => sprintf( __( 'Theme: %s' ), $this->theme()->display('Name') ),
     1151                        'title'      => $this->theme()->display( 'Name' ),
    11521152                        'capability' => 'switch_themes',
    1153                         'priority' => 0,
     1153                        'priority'   => 0,
    11541154                ) ) );
    11551155
    11561156                // Themes Setting (unused - the theme is considerably more fundamental to the Customizer experience).
     
    11631163                // Theme Controls.
    11641164                $themes = wp_prepare_themes_for_js();
    11651165                foreach ( $themes as $theme ) {
     1166                        if ( $theme['active'] ) {
     1167                                continue;
     1168                        }
     1169
    11661170                        $theme_id = 'theme_' . $theme['id'];
    11671171                        $this->add_control( new WP_Customize_Theme_Control( $this, $theme_id, array(
    1168                                 'theme' => $theme,
    1169                                 'section' => 'themes',
     1172                                'theme'    => $theme,
     1173                                'section'  => 'themes',
    11701174                                'settings' => 'active_theme',
    11711175                        ) ) );
    11721176                }
  • src/wp-includes/class-wp-customize-section.php

     
    342342                ?>
    343343                <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
    344344                        <h3 class="accordion-section-title" tabindex="0">
    345                                 <?php echo esc_html( $this->title ); ?>
     345                                <?php
     346                                if ( $this->manager->is_theme_active() ) {
     347                                        /* translators: %s: theme name */
     348                                        printf( __( '<span>Active theme</span> %s' ), $this->title );
     349                                } else {
     350                                        /* translators: %s: theme name */
     351                                        printf( __( '<span>Previewing theme</span> %s' ), $this->title );
     352                                }
     353                                ?>
     354
     355                                <button type="button" class="button change-theme"><?php _ex( 'Change', 'theme' ); ?></button>
    346356                                <span class="screen-reader-text"><?php _e( 'Press return or enter to expand' ); ?></span>
    347357                        </h3>
    348358                        <div class="customize-themes-panel control-panel-content themes-php">
    349                                 <h2><?php esc_html_e( 'Themes' ); ?>
    350                                         <span class="title-count theme-count"><?php echo count( $this->controls ) - 1; ?></span>
     359                                <h2>
     360                                        <?php _e( 'Themes' ); ?>
     361                                        <span class="title-count theme-count"><?php echo count( $this->controls ); ?></span>
    351362                                </h2>
     363
     364                                <h3 class="accordion-section-title customize-section-title" tabindex="0">
     365                                        <?php
     366                                        if ( $this->manager->is_theme_active() ) {
     367                                                /* translators: %s: theme name */
     368                                                printf( __( '<span>Active theme</span> %s' ), $this->title );
     369                                        } else {
     370                                                /* translators: %s: theme name */
     371                                                printf( __( '<span>Previewing theme</span> %s' ), $this->title );
     372                                        }
     373                                        ?>
     374                                        <button type="button" class="button change-theme"><?php _e( 'Customize' ); ?></button>
     375                                        <span class="screen-reader-text"><?php _e( 'Press return or enter to return to customize' ); ?></span>
     376                                </h3>
     377
    352378                                <div class="theme-overlay" tabindex="0" role="dialog" aria-label="<?php esc_attr_e( 'Theme Details' ); ?>"></div>
     379
    353380                                <div id="customize-container"></div>
    354                                 <?php if ( 6 < count( $this->controls ) ) : ?>
     381                                <?php if ( count( $this->controls ) > 5 ) : ?>
    355382                                        <p><label for="themes-filter">
    356383                                                <span class="screen-reader-text"><?php _e( 'Search installed themes...' ); ?></span>
    357384                                                <input type="search" id="themes-filter" placeholder="<?php esc_attr_e( 'Search installed themes...' ); ?>" />