Customizer: Fix previewing and applying widgets when previewing another theme.

* Unset `wp_get_sidebars_widgets()`' non-admin cache var `$_wp_sidebars_widgets` in Customize theme preview.
* Add `WP_Customize_Setting::$dirty` so that settings can be initially-dirty when the Customizer loads.
* Mark `old_sidebars_widgets_data` setting initially-dirty.
* Mark all `sidebars_widgets` settings as initially-dirty during theme switch.

props westonruter.
see #31484.

git-svn-id: https://develop.svn.wordpress.org/trunk@31705 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dominik Schilling (ocean90)
2015-03-10 22:38:30 +00:00
parent 4aeeb0e0f0
commit 63502a8a01
5 changed files with 24 additions and 1 deletions

View File

@@ -44,6 +44,7 @@ class Tests_WP_Customize_Setting extends WP_UnitTestCase {
$this->assertEquals( '', $setting->sanitize_js_callback );
$this->assertFalse( has_filter( "customize_sanitize_{$setting->id}" ) );
$this->assertFalse( has_filter( "customize_sanitize_js_{$setting->id}" ) );
$this->assertEquals( false, $setting->dirty );
}
function test_constructor_with_args() {