WP_Customize_Manager::add_setting( WP_Customize_Setting|string $id, array $args = array() )
Add a customize setting.
Description Description
Parameters Parameters
- $id
-
(WP_Customize_Setting|string) (Required) Customize Setting object, or ID.
- $args
-
(array) (Optional) Array of properties for the new WP_Customize_Setting.
- 'type'
(string) Type of the setting. Default 'theme_mod'. - 'capability'
(string) Capability required for the setting. Default 'edit_theme_options' - 'theme_supports'
(string|array) Theme features required to support the panel. Default is none. - 'default'
(string) Default value for the setting. Default is empty string. - 'transport'
(string) Options 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 value: array()
- 'type'
Return Return
(WP_Customize_Setting) The instance of the setting that was added.
Source Source
File: wp-includes/class-wp-customize-manager.php
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;
}
Expand full source code Collapse full source code View on Trac
Changelog Changelog
| Version | Description |
|---|---|
| 4.5.0 | Return added WP_Customize_Setting instance. |
| 3.4.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
The
sanitize_callbackparameter needs to refer to a function that accepts at least two parameters or a [variable argument length](http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list). 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).