Make WordPress Core

Ticket #42330: 42330.diff

File 42330.diff, 1.7 KB (added by westonruter, 6 years ago)

https://github.com/xwp/wordpress-develop/pull/293

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

    diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
    index e15f10cf58..deafe6c2ca 100644
     
    34743474                        }
    34753475                        _.extend( settings, control.params.settings );
    34763476
    3477                         // Note: Settings can be an array or an object.
    3478                         _.each( settings, function( setting, key ) {
    3479                                 if ( _.isObject( setting ) ) { // @todo Or check if instance of api.Setting?
    3480                                         control.settings[ key ] = setting;
    3481                                 } else {
    3482                                         deferredSettingIds.push( setting );
     3477                        // Note: Settings can be an array or an object, with values being either setting IDs or Setting (or Value) objects.
     3478                        _.each( settings, function( value, key ) {
     3479                                var setting;
     3480                                if ( _.isObject( value ) && _.isFunction( value.extended ) && value.extended( api.Value ) ) {
     3481                                        control.settings[ key ] = value;
     3482                                } else if ( _.isString( value ) ) {
     3483                                        setting = api( value );
     3484                                        if ( setting ) {
     3485                                                control.settings[ key ] = setting;
     3486                                        } else {
     3487                                                deferredSettingIds.push( value );
     3488                                        }
    34833489                                }
    34843490                        } );
    34853491
     
    35003506                                // Identify the main setting.
    35013507                                control.setting = control.settings['default'] || null;
    35023508
     3509                                control.linkElements(); // Link initial elements present in server-rendered content.
    35033510                                control.embed();
    35043511                        };
    35053512
     
    35113518
    35123519                        // After the control is embedded on the page, invoke the "ready" method.
    35133520                        control.deferred.embedded.done( function () {
    3514                                 control.linkElements();
     3521                                control.linkElements(); // Link any additional elements after template is rendered by renderContent().
    35153522                                control.setupNotifications();
    35163523                                control.ready();
    35173524                        });