WordPress.org

Make WordPress Core

Ticket #39087: 39087.10.diff

File 39087.10.diff, 6.9 KB (added by westonruter, 3 years ago)

https://github.com/xwp/wordpress-develop/pull/220/commits/0ac53f63fa18e9792168e853c01e92d6624c1e1e

  • src/wp-admin/js/customize-widgets.js

    diff --git src/wp-admin/js/customize-widgets.js src/wp-admin/js/customize-widgets.js
    index d3a4edcc64..b482e8d607 100644
     
    16161616                                 * @returns {void}
    16171617                                 */
    16181618                                updateNotice = function() {
    1619                                         var activeSectionCount = getActiveSectionCount(), message, nonRenderedAreaCount, registeredAreaCount;
     1619                                        var activeSectionCount = getActiveSectionCount(), someRenderedMessage, nonRenderedAreaCount, registeredAreaCount;
    16201620                                        noticeContainer.empty();
    16211621
    16221622                                        registeredAreaCount = api.Widgets.data.registeredSidebars.length;
     
    16241624
    16251625                                                if ( 0 !== activeSectionCount ) {
    16261626                                                        nonRenderedAreaCount = registeredAreaCount - activeSectionCount;
    1627                                                         message = ( 1 === nonRenderedAreaCount ? l10n.someAreasShown.singular : l10n.someAreasShown.plural ).replace( '%d', nonRenderedAreaCount );
     1627                                                        someRenderedMessage = l10n.someAreasShown[ nonRenderedAreaCount ];
    16281628                                                } else {
    1629                                                         message = ( 1 === registeredAreaCount ? l10n.noAreasShown.singular : l10n.noAreasShown.plural ).replace( '%d', registeredAreaCount );
     1629                                                        someRenderedMessage = l10n.noAreasShown;
     1630                                                }
     1631                                                if ( someRenderedMessage ) {
     1632                                                        noticeContainer.append( $( '<p></p>', {
     1633                                                                text: someRenderedMessage
     1634                                                        } ) );
    16301635                                                }
    16311636
    16321637                                                noticeContainer.append( $( '<p></p>', {
    1633                                                         text: message
    1634                                                 } ) );
    1635                                                 noticeContainer.append( $( '<p></p>', {
    16361638                                                        text: l10n.navigatePreview
    16371639                                                } ) );
    16381640                                        }
  • src/wp-includes/class-wp-customize-widgets.php

    diff --git src/wp-includes/class-wp-customize-widgets.php src/wp-includes/class-wp-customize-widgets.php
    index 887c11fa0c..45e884f4f1 100644
    final class WP_Customize_Widgets { 
    720720                        </div>'
    721721                );
    722722
     723                /*
     724                 * Gather all strings in PHP that may be needed by JS on the client.
     725                 * Once JS i18n is implemented (in #20491), this can be removed.
     726                 */
     727                $some_non_rendered_areas_messages = array();
     728                $some_non_rendered_areas_messages[1] = html_entity_decode(
     729                        /* translators: placeholder is the number of other widget areas registered but not rendered */
     730                        __( 'Your theme has 1 other widget area, but this particular page doesn&rsquo;t display it.' ),
     731                        ENT_QUOTES,
     732                        get_bloginfo( 'charset' )
     733                );
     734                $registered_sidebar_count = count( $wp_registered_sidebars );
     735                for ( $non_rendered_count = 2; $non_rendered_count < $registered_sidebar_count; $non_rendered_count++ ) {
     736                        $some_non_rendered_areas_messages[ $non_rendered_count ] = html_entity_decode( sprintf(
     737                                /* translators: placeholder is the number of other widget areas registered but not rendered */
     738                                _n(
     739                                        'Your theme has %s other widget area, but this particular page doesn&rsquo;t display it.',
     740                                        'Your theme has %s other widget areas, but this particular page doesn&rsquo;t display them.',
     741                                        $non_rendered_count
     742                                ),
     743                                number_format_i18n( $non_rendered_count )
     744                        ), ENT_QUOTES, get_bloginfo( 'charset' ) );
     745                }
     746
     747                if ( 1 === $registered_sidebar_count ) {
     748                        $no_areas_shown_message = html_entity_decode( sprintf(
     749                                /* translators: placeholder is the total number of widget areas registered */
     750                                __( 'Your theme has 1 widget area, but this particular page doesn&rsquo;t display it.' )
     751                        ), ENT_QUOTES, get_bloginfo( 'charset' ) );
     752                } else {
     753                        $no_areas_shown_message = html_entity_decode( sprintf(
     754                                /* translators: placeholder is the total number of widget areas registered */
     755                                _n(
     756                                        'Your theme has %s widget area, but this particular page doesn&rsquo;t display it.',
     757                                        'Your theme has %s widget areas, but this particular page doesn&rsquo;t display them.',
     758                                        $registered_sidebar_count
     759                                ),
     760                                number_format_i18n( $registered_sidebar_count )
     761                        ), ENT_QUOTES, get_bloginfo( 'charset' ) );
     762                }
     763
    723764                $settings = array(
    724765                        'registeredSidebars'   => array_values( $wp_registered_sidebars ),
    725766                        'registeredWidgets'    => $wp_registered_widgets,
    final class WP_Customize_Widgets { 
    733774                                'widgetMovedUp'    => __( 'Widget moved up' ),
    734775                                'widgetMovedDown'  => __( 'Widget moved down' ),
    735776                                'navigatePreview'  => __( 'You can navigate to other pages on your site while using the Customizer to view and edit the widgets displayed on those pages.' ),
    736                                 'someAreasShown'   => wp_array_slice_assoc(
    737                                         /* translators: placeholder is the number of other widget areas registered */
    738                                         _n_noop(
    739                                                 'Your theme has %d other widget area, but this particular page doesn\'t display it.',
    740                                                 'Your theme has %d other widget areas, but this particular page doesn\'t display them.'
    741                                         ),
    742                                         array( 'singular', 'plural' )
    743                                 ),
    744                                 'noAreasShown'    => wp_array_slice_assoc(
    745                                         /* translators: placeholder is the total number of widget areas registered */
    746                                         _n_noop(
    747                                                 'Your theme has %d widget area, but this particular page doesn\'t display it.',
    748                                                 'Your theme has %d widget areas, but this particular page doesn\'t display them.'
    749                                         ),
    750                                         array( 'singular', 'plural' )
    751                                 ),
     777                                'someAreasShown'   => $some_non_rendered_areas_messages,
     778                                'noAreasShown'     => $no_areas_shown_message,
    752779                                'reorderModeOn'    => __( 'Reorder mode enabled' ),
    753780                                'reorderModeOff'   => __( 'Reorder mode closed' ),
    754781                                'reorderLabelOn'   => esc_attr__( 'Reorder widgets' ),
  • tests/qunit/fixtures/customize-widgets.js

    diff --git tests/qunit/fixtures/customize-widgets.js tests/qunit/fixtures/customize-widgets.js
    index 14d43fb872..cee4c6db13 100644
    window._wpCustomizeWidgetsSettings = { 
    4848        'l10n': {
    4949                'error': 'An error has occurred. Please reload the page and try again.',
    5050                'navigatePreview': 'You can navigate to other pages on your site while using the Customizer to view and edit the widgets displayed on those pages.',
    51                 'noAreasShown': {
    52                         'plural': 'Your theme has %d widget areas, but this particular page doesn\'t display them.',
    53                         'singular': 'Your theme has %d widget area, but this particular page doesn\'t display it.'
    54                 },
     51                'noAreasShown': 'Your theme has 3 widget areas, but this particular page doesn\u2019t display them.',
    5552                'noWidgetsFound': 'No widgets found.',
    5653                'removeBtnLabel': 'Remove',
    5754                'removeBtnTooltip': 'Trash widget by moving it to the inactive widgets sidebar.',
    window._wpCustomizeWidgetsSettings = { 
    6158                'saveBtnLabel': 'Apply',
    6259                'saveBtnTooltip': 'Save and preview changes before publishing them.',
    6360                'someAreasShown': {
    64                         'plural': 'Your theme has %d other widget areas, but this particular page doesn\'t display them.',
    65                         'singular': 'Your theme has %d other widget area, but this particular page doesn\'t display it.'
     61                        '1': 'Your theme has 1 other widget area, but this particular page doesn\u2019t display it.',
     62                        '2': 'Your theme has 2 other widget areas, but this particular page doesn\u2019t display them.'
    6663                },
    6764                'widgetMovedDown': 'Widget moved down',
    6865                'widgetMovedUp': 'Widget moved up',