WP_Customize_Manager::add_setting( WP_Customize_Setting|string $id, array $args = array() ): WP_Customize_Setting
Adds a customize setting.
Contents
Description
See also
Parameters
-
$id
WP_Customize_Setting|string Required -
Customize Setting object, or ID.
-
$args
array Optional -
Array of properties for the new Setting object.
See WP_Customize_Setting::__construct() for information on accepted arguments.More Arguments from WP_Customize_Setting::__construct( ... $args )
Array of properties for the new Setting object.
type
stringType of the setting. Default'theme_mod'
.capability
stringCapability required for the setting. Default'edit_theme_options'
theme_supports
string|string[]Theme features required to support the panel. Default is none.default
stringDefault value for the setting. Default is empty string.transport
stringOptions for rendering the live preview of changes in Customizer.
Using'refresh'
makes the change visible by reloading the whole preview.
Using'postMessage'
allows a custom JavaScript to handle live changes.
Default is'refresh'
.validate_callback
callableServer-side validation callback for the setting's value.sanitize_callback
callableCallback to filter a Customize setting value in un-slashed form.sanitize_js_callback
callableCallback to convert a Customize PHP setting value to a value that is JSON serializable.dirty
boolWhether or not the setting is initially dirty when created.
Default:
array()
Return
WP_Customize_Setting The instance of the setting that was added.
Source
File: wp-includes/class-wp-customize-manager.php
.
View all references
public function add_setting( $id, $args = array() ) {
if ( $id instanceof WP_Customize_Setting ) {
$setting = $id;
} else {
$class = 'WP_Customize_Setting';
/** This filter is documented in wp-includes/class-wp-customize-manager.php */
$args = apply_filters( 'customize_dynamic_setting_args', $args, $id );
/** This filter is documented in wp-includes/class-wp-customize-manager.php */
$class = apply_filters( 'customize_dynamic_setting_class', $class, $id, $args );
$setting = new $class( $this, $id, $args );
}
$this->settings[ $setting->id ] = $setting;
return $setting;
}
Hooks
-
apply_filters( 'customize_dynamic_setting_args',
false|array $setting_args ,string $setting_id ) -
Filters a dynamic setting’s constructor args.
-
apply_filters( 'customize_dynamic_setting_class',
string $setting_class ,string $setting_id ,array $setting_args ) -
Allow non-statically created settings to be constructed with custom WP_Customize_Setting subclass.
Changelog
Version | Description |
---|---|
4.5.0 | Return added WP_Customize_Setting instance. |
3.4.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
The
sanitize_callback
parameter needs to refer to a function that accepts at least two parameters or a variable argument length. The two parameters send to the callback are 1.) the value of the setting and 2.) the instance of WP_Customize_Setting. Using a callback that only accepts one parameter may result in a customize validation failiure upon saving or a PHP warning (see error log).