Constructor.
Description
Supplied $args override class property defaults.
If $args['settings'] is not defined, use the $id as the setting ID.
Parameters
$managerWP_Customize_Managerrequired- Customizer bootstrap instance.
$idstringrequired- Control ID.
$argsarrayoptional- Array of properties for the new Control object.
instance_numberintOrder in which this instance was created in relation to other instances.managerWP_Customize_ManagerCustomizer bootstrap instance.idstringControl ID.settingsarrayAll settings tied to the control. If undefined,$idwill be used.settingstringThe primary setting for the control (if there is one).
Default'default'.capabilitystringCapability required to use this control. Normally this is empty and the capability is derived from$settings.priorityintOrder priority to load the control. Default 10.sectionstringSection the control belongs to.labelstringLabel for the control.descriptionstringDescription for the control.choicesarrayList of choices for'radio'or'select'type controls, where values are the keys, and labels are the values.
input_attrsarrayList of custom input attributes for control output, where attribute names are the keys and values are the values. Not used for'checkbox','radio','select','textarea', or'dropdown-pages'control types.allow_additionboolShow UI for adding new content, currently only used for the dropdown-pages control. Default false.jsonarrayDeprecated. Use WP_Customize_Control::json() instead.typestringControl type. Core controls include'text','checkbox','textarea','radio','select', and'dropdown-pages'. Additional input types such as'email','url','number','hidden', and'date'are supported implicitly. Default'text'.active_callbackcallableActive callback.
Default:
array()
Source
public function __construct( $manager, $id, $args = array() ) {
$keys = array_keys( get_object_vars( $this ) );
foreach ( $keys as $key ) {
if ( isset( $args[ $key ] ) ) {
$this->$key = $args[ $key ];
}
}
$this->manager = $manager;
$this->id = $id;
if ( empty( $this->active_callback ) ) {
$this->active_callback = array( $this, 'active_callback' );
}
self::$instance_count += 1;
$this->instance_number = self::$instance_count;
// Process settings.
if ( ! isset( $this->settings ) ) {
$this->settings = $id;
}
$settings = array();
if ( is_array( $this->settings ) ) {
foreach ( $this->settings as $key => $setting ) {
$settings[ $key ] = $this->manager->get_setting( $setting );
}
} elseif ( is_string( $this->settings ) ) {
$this->setting = $this->manager->get_setting( $this->settings );
$settings['default'] = $this->setting;
}
$this->settings = $settings;
}
Changelog
| Version | Description |
|---|---|
| 3.4.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.