Make WordPress Core

Ticket #37478: 37478.0.diff

File 37478.0.diff, 1.9 KB (added by westonruter, 7 years ago)
  • src/wp-includes/js/customize-preview-widgets.js

    diff --git src/wp-includes/js/customize-preview-widgets.js src/wp-includes/js/customize-preview-widgets.js
    index 6702bff..4797278 100644
    wp.customize.widgetsPreview = wp.customize.WidgetCustomizerPreview = (function( 
    376376                                        sidebarPartial.params.sidebarArgs.after_widget
    377377                                );
    378378
     379                                // Handle rare case where before_widget and after_widget are empty.
     380                                if ( ! widgetContainerElement[0] ) {
     381                                        return;
     382                                }
     383
    379384                                widgetContainerElement.attr( 'data-customize-partial-id', widgetPartial.id );
    380385                                widgetContainerElement.attr( 'data-customize-partial-type', 'widget' );
    381386                                widgetContainerElement.attr( 'data-customize-widget-id', widgetId );
    wp.customize.widgetsPreview = wp.customize.WidgetCustomizerPreview = (function( 
    521526                                widgetClasses;
    522527
    523528                        emptyWidget = $( widgetTpl );
    524                         widgetSelector = emptyWidget.prop( 'tagName' );
    525                         widgetClasses = emptyWidget.prop( 'className' );
    526 
    527                         // Remove class names that incorporate the string formatting placeholders %1$s and %2$s.
    528                         widgetClasses = widgetClasses.replace( /\S*%[12]\$s\S*/g, '' );
    529                         widgetClasses = widgetClasses.replace( /^\s+|\s+$/g, '' );
     529                        widgetSelector = emptyWidget.prop( 'tagName' ) || '';
     530                        widgetClasses = emptyWidget.prop( 'className' ) || '';
    530531
    531532                        // Prevent a rare case when before_widget, before_title, after_title and after_widget is empty.
    532533                        if ( ! widgetClasses ) {
    533534                                return;
    534535                        }
    535536
    536                         if ( widgetClasses ) {
    537                                 widgetSelector += '.' + widgetClasses.split( /\s+/ ).join( '.' );
    538                         }
     537                        // Remove class names that incorporate the string formatting placeholders %1$s and %2$s.
     538                        widgetClasses = widgetClasses.replace( /\S*%[12]\$s\S*/g, '' );
     539                        widgetClasses = widgetClasses.replace( /^\s+|\s+$/g, '' );
     540                        widgetSelector += '.' + widgetClasses.split( /\s+/ ).join( '.' );
    539541                        self.widgetSelectors.push( widgetSelector );
    540542                });
    541543        };