WordPress.org

Make WordPress Core

Changeset 37322


Ignore:
Timestamp:
04/28/16 18:19:15 (19 months ago)
Author:
westonruter
Message:

Customize: Remove format placeholders from widget templates and selectors, fixing a jQuery selector syntax error and the broken highlight/shift-click behaviors.

The issues occur in themes that register sidebars that reference a single format placeholder (%1$s and %2$s) multiple times, such as in the id and class attributes for $before_widget.

Props martin.krcho, westonruter.
Fixes #36473.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/js/customize-preview-widgets.js

    r37040 r37322  
    373373 
    374374                widgetContainerElement = $( 
    375                     sidebarPartial.params.sidebarArgs.before_widget.replace( '%1$s', widgetId ).replace( '%2$s', 'widget' ) + 
     375                    sidebarPartial.params.sidebarArgs.before_widget.replace( /%1\$s/g, widgetId ).replace( /%2\$s/g, 'widget' ) + 
    376376                    sidebarPartial.params.sidebarArgs.after_widget 
    377377                ); 
     
    512512        $.each( self.registeredSidebars, function( i, sidebar ) { 
    513513            var widgetTpl = [ 
    514                     sidebar.before_widget.replace( '%1$s', '' ).replace( '%2$s', '' ), 
     514                    sidebar.before_widget, 
    515515                    sidebar.before_title, 
    516516                    sidebar.after_title, 
     
    525525            widgetClasses = emptyWidget.prop( 'className' ); 
    526526 
     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, '' ); 
     530 
    527531            // Prevent a rare case when before_widget, before_title, after_title and after_widget is empty. 
    528532            if ( ! widgetClasses ) { 
    529533                return; 
    530534            } 
    531  
    532             widgetClasses = widgetClasses.replace( /^\s+|\s+$/g, '' ); 
    533535 
    534536            if ( widgetClasses ) { 
Note: See TracChangeset for help on using the changeset viewer.