Constructor.
Description
Supplied $args
override class property defaults.
If $args['settings']
is not defined, use the $id
as the setting ID.
Parameters
$manager
WP_Customize_Managerrequired- Customizer bootstrap instance.
$id
stringrequired- Control ID.
$args
arrayoptional- Array of properties for the new Control object.
instance_number
intOrder in which this instance was created in relation to other instances.manager
WP_Customize_ManagerCustomizer bootstrap instance.id
stringControl ID.settings
arrayAll settings tied to the control. If undefined,$id
will be used.setting
stringThe primary setting for the control (if there is one).
Default'default'
.capability
stringCapability required to use this control. Normally this is empty and the capability is derived from$settings
.priority
intOrder priority to load the control. Default 10.section
stringSection the control belongs to.label
stringLabel for the control.description
stringDescription for the control.choices
arrayList of choices for'radio'
or'select'
type controls, where values are the keys, and labels are the values.
input_attrs
arrayList 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_addition
boolShow UI for adding new content, currently only used for the dropdown-pages control. Default false.json
arrayDeprecated. Use WP_Customize_Control::json() instead.type
stringControl 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_callback
callableActive 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.