WP_Customize_Manager::add_panel( WP_Customize_Panel|string $id, array $args = array() ): WP_Customize_Panel

Adds a customize panel.

Description

See also

Parameters

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

Default:array()

Return

WP_Customize_Panel The instance of the panel that was added.

Source

public function add_panel( $id, $args = array() ) {
	if ( $id instanceof WP_Customize_Panel ) {
		$panel = $id;
	} else {
		$panel = new WP_Customize_Panel( $this, $id, $args );
	}

	$this->panels[ $panel->id ] = $panel;
	return $panel;
}

Changelog

VersionDescription
4.5.0Return added WP_Customize_Panel instance.
4.0.0Introduced.

User Contributed Notes

  1. Skip to note 4 content

    If you are wondering why your panel is visible but disappears after the customizer is fully loaded, it is probably because you added the ‘customizer_register’ action only when is_admin() is true.

    Do this instead:

    if ( is_admin() || is_customize_preview() ) {
        add_action( 'customize_register', 'wpdocs_your_customize_register' );
    }

    Now your panel will not be hidden when the customizer is fully loaded.

You must log in before being able to contribute a note or feedback.