WP_Customize_Partial::__construct()publicWP 4.5.0


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_Partial{}

No Hooks.


null. Ничего (null).


$WP_Customize_Partial = new WP_Customize_Partial();
$WP_Customize_Partial->__construct( $component, $id, $args );
$component(WP_Customize_Selective_Refresh) (required)
Customize Partial Refresh plugin instance.
$id(string) (required)
Control ID.

Array of properties for the new Partials object.

Default: empty array

  • type(string)
    Type of the partial to be created.

  • selector(string)
    The jQuery selector to find the container element for the partial, that is, a partial's placement.

  • settings(string[])
    IDs for settings tied to the partial. If undefined, $id will be used.

  • primary_setting(string)
    The ID for the setting that this partial is primarily responsible for rendering. If not supplied, it will default to the ID of the first setting.

  • capability(string)
    Capability required to edit this partial. Normally this is empty and the capability is derived from the capabilities of the associated $settings.

  • render_callback(callable)
    Render callback. Callback is called with one argument, the instance of WP_Customize_Partial. The callback can either echo the partial or return the partial as a string, or return false if error.

  • container_inclusive(true|false)
    Whether the container element is included in the partial, or if only the contents are rendered.

  • fallback_refresh(true|false)
    Whether to refresh the entire preview in case a partial cannot be refreshed. A partial render is considered a failure if the render_callback returns false.


Since 4.5.0 Introduced.

WP_Customize_Partial::__construct() code WP 6.4.1

public function __construct( WP_Customize_Selective_Refresh $component, $id, $args = array() ) {
	$keys = array_keys( get_object_vars( $this ) );
	foreach ( $keys as $key ) {
		if ( isset( $args[ $key ] ) ) {
			$this->$key = $args[ $key ];

	$this->component       = $component;
	$this->id              = $id;
	$this->id_data['keys'] = preg_split( '/\[/', str_replace( ']', '', $this->id ) );
	$this->id_data['base'] = array_shift( $this->id_data['keys'] );

	if ( empty( $this->render_callback ) ) {
		$this->render_callback = array( $this, 'render_callback' );

	// Process settings.
	if ( ! isset( $this->settings ) ) {
		$this->settings = array( $id );
	} elseif ( is_string( $this->settings ) ) {
		$this->settings = array( $this->settings );

	if ( empty( $this->primary_setting ) ) {
		$this->primary_setting = current( $this->settings );