Opened 8 years ago
Closed 8 years ago
#38864 closed defect (bug) (fixed)
Customize: Settings of custom types should return post_value when value() called
Reported by: | westonruter | Owned by: | westonruter |
---|---|---|---|
Milestone: | 4.7 | Priority: | normal |
Severity: | normal | Version: | |
Component: | Customize | Keywords: | has-patch |
Focuses: | Cc: |
Description (last modified by )
When a custom setting type
is supplied when constructing a the base WP_Customize_Setting
class, then the plugin implementing the custom type is expected to supply the value via the customize_value_{$id_base}
filter which is then returned in the call to WP_Customize_Setting::value()
. When a setting is previewed, however, it is expected that the WP_Customize_Setting::value()
returns the previewed (post) value instead of whatever the customize_value_{$id_base}
filter returned. This is not currently the case.
This issue is clearly seen when adding a setting via code like:
<?php $wp_customize->add_setting( 'test_number', array( 'type' => 'demo', ) );
When loading the customizer and supplying a value for that setting, if you then try to reload the customizer so that the stored changeset restores the customized state upon reload, you'll see that the input is unexpectedly empty.
In 39318: