diff --git a/wp-includes/class-wp-customize-setting.php b/wp-includes/class-wp-customize-setting.php index ebc36a4b35..087d5e3496 100644 --- a/wp-includes/class-wp-customize-setting.php +++ b/wp-includes/class-wp-customize-setting.php @@ -16,6 +16,7 @@ class WP_Customize_Setting { public $theme_supports = ''; public $default = ''; public $sanitize_callback = ''; + public $transport = 'refresh'; protected $id_data = array(); private $_post_value; // Cached, sanitized $_POST value. diff --git a/wp-includes/class-wp-customize.php b/wp-includes/class-wp-customize.php index e4d3abb5dd..d6acb74b61 100644 --- a/wp-includes/class-wp-customize.php +++ b/wp-includes/class-wp-customize.php @@ -580,6 +580,7 @@ final class WP_Customize { 'default' => get_theme_support( 'custom-background', 'default-color' ), 'sanitize_callback' => 'sanitize_hexcolor', 'theme_supports' => 'custom-background', + 'transport' => 'postMessage', ) ); $this->add_control( 'background_color', array( diff --git a/wp-includes/customize-controls.php b/wp-includes/customize-controls.php index cd28f6c72e..32a2519035 100644 --- a/wp-includes/customize-controls.php +++ b/wp-includes/customize-controls.php @@ -104,7 +104,8 @@ do_action( 'customize_controls_print_scripts' ); foreach ( $this->settings as $id => $setting ) { $settings['settings'][ $id ] = array( - 'value' => $setting->value(), + 'value' => $setting->value(), + 'transport' => $setting->transport, ); } diff --git a/wp-includes/js/customize-controls.dev.js b/wp-includes/js/customize-controls.dev.js index 6f596a8ed5..8dd812eaab 100644 --- a/wp-includes/js/customize-controls.dev.js +++ b/wp-includes/js/customize-controls.dev.js @@ -4,7 +4,7 @@ /* * @param options * - previewer - The Previewer instance to sync with. - * - method - The method to use for previewing. Supports 'refresh' and 'postMessage'. + * - transport - The transport to use for previewing. Supports 'refresh' and 'postMessage'. */ api.Setting = api.Value.extend({ initialize: function( id, value, options ) { @@ -13,7 +13,7 @@ api.Value.prototype.initialize.call( this, value, options ); this.id = id; - this.method = this.method || 'refresh'; + this.transport = this.transport || 'refresh'; element = $( '', { type: 'hidden', @@ -28,7 +28,7 @@ this.bind( this.preview ); }, preview: function() { - switch ( this.method ) { + switch ( this.transport ) { case 'refresh': return this.previewer.refresh(); case 'postMessage': @@ -403,6 +403,7 @@ $.each( api.settings.settings, function( id, data ) { api.set( id, id, data.value, { + transport: data.transport, previewer: previewer } ); }); @@ -434,11 +435,6 @@ event.preventDefault(); }); - // Background color uses postMessage by default - api( 'background_color', function( setting ) { - setting.method = 'postMessage'; - }); - // Control visibility for default controls $.each({ 'background_image': {