WP_Customize_Control::__construct()
Constructor.
Supplied $args override class property defaults.
If $args['settings'] is not defined, use the $id as the setting ID.
Method of the class: WP_Customize_Control{}
No Hooks.
Return
null
. Nothing (null).
Usage
$WP_Customize_Control = new WP_Customize_Control(); $WP_Customize_Control->__construct( $manager, $id, $args );
- $manager(WP_Customize_Manager) (required)
- Customizer bootstrap instance.
- $id(string) (required)
- Control ID.
- $args(array)
Array of properties for the new Control object.
Default: empty array
-
instance_number(int)
Order in which this instance was created in relation to other instances. -
manager(WP_Customize_Manager)
Customizer bootstrap instance. -
id(string)
Control ID. -
settings(array)
All settings tied to the control. If undefined, $id will be used. -
setting(string)
The primary setting for the control (if there is one).
Default: 'default' -
capability(string)
Capability required to use this control. Normally this is empty and the capability is derived from $settings. -
priority(int)
Order priority to load the control.
Default: 10 -
section(string)
Section the control belongs to.
Default: '' -
label(string)
Label for the control.
Default: '' -
description(string)
Description for the control.
Default: '' -
choices(array)
List of choices for 'radio' or 'select' type controls, where values are the keys, and labels are the values.
Default: empty array -
input_attrs(array)
List 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.
Default: empty array -
allow_addition(true|false)
Show UI for adding new content, currently only used for the dropdown-pages control.
Default: false -
json(array)
Deprecated. Use WP_Customize_Control::json() instead. -
type(string)
Control 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(callable)
Active callback.
-
Changelog
Since 3.4.0 | Introduced. |
WP_Customize_Control::__construct() WP Customize Control:: construct code WP 6.4.3
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; }