diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
index 85b171d..d696f85 100644
|
|
|
1021 | 1021 | nonce: api.settings.nonce, |
1022 | 1022 | |
1023 | 1023 | query: function() { |
| 1024 | var dirtyCustomized = {}; |
| 1025 | api.each( function ( value, key ) { |
| 1026 | if ( value._dirty ) { |
| 1027 | dirtyCustomized[ key ] = value(); |
| 1028 | } |
| 1029 | } ); |
| 1030 | |
1024 | 1031 | return { |
1025 | 1032 | wp_customize: 'on', |
1026 | 1033 | theme: api.settings.theme.stylesheet, |
1027 | | customized: JSON.stringify( api.get() ), |
| 1034 | customized: JSON.stringify( dirtyCustomized ), |
1028 | 1035 | nonce: this.nonce.preview |
1029 | 1036 | }; |
1030 | 1037 | }, |
… |
… |
|
1067 | 1074 | return; |
1068 | 1075 | } |
1069 | 1076 | |
| 1077 | // Clear setting dirty states |
| 1078 | api.each( function ( value ) { |
| 1079 | value._dirty = false; |
| 1080 | } ); |
1070 | 1081 | api.trigger( 'saved' ); |
1071 | 1082 | } ); |
1072 | 1083 | }; |
diff --git src/wp-includes/js/customize-base.js src/wp-includes/js/customize-base.js
index 6c41b40..765c595 100644
|
|
window.wp = window.wp || {}; |
158 | 158 | initialize: function( initial, options ) { |
159 | 159 | this._value = initial; // @todo: potentially change this to a this.set() call. |
160 | 160 | this.callbacks = $.Callbacks(); |
| 161 | this._dirty = false; |
161 | 162 | |
162 | 163 | $.extend( this, options || {} ); |
163 | 164 | |
… |
… |
window.wp = window.wp || {}; |
187 | 188 | return this; |
188 | 189 | |
189 | 190 | this._value = to; |
| 191 | this._dirty = true; |
190 | 192 | |
191 | 193 | this.callbacks.fireWith( this, [ to, from ] ); |
192 | 194 | |