W3cubDocs

/WordPress

WP_Customize_Manager::add_setting( WP_Customize_Setting|string $id, array $args = array() ): WP_Customize_Setting

Adds a customize setting.

Description

See also

Parameters

$idWP_Customize_Setting|stringrequired
Customize Setting object, or ID.
$argsarrayoptional
Array of properties for the new Setting object.
See WP_Customize_Setting::__construct() for information on accepted arguments.

Default:array()

Return

WP_Customize_Setting The instance of the setting that was added.

Source

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.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_customize_manager/add_setting