WP_Customize_Widgets::get_setting_args( string $id, array $overrides = array() ): array

In this article

Retrieves common arguments to supply when constructing a Customizer setting.

Parameters

$idstringrequired
Widget setting ID.
$overridesarrayoptional
Array of setting overrides.

Default:array()

Return

array Possibly modified setting arguments.

Source

public function get_setting_args( $id, $overrides = array() ) {
	$args = array(
		'type'       => 'option',
		'capability' => 'edit_theme_options',
		'default'    => array(),
	);

	if ( preg_match( $this->setting_id_patterns['sidebar_widgets'], $id, $matches ) ) {
		$args['sanitize_callback']    = array( $this, 'sanitize_sidebar_widgets' );
		$args['sanitize_js_callback'] = array( $this, 'sanitize_sidebar_widgets_js_instance' );
		$args['transport']            = current_theme_supports( 'customize-selective-refresh-widgets' ) ? 'postMessage' : 'refresh';
	} elseif ( preg_match( $this->setting_id_patterns['widget_instance'], $id, $matches ) ) {
		$id_base                      = $matches['id_base'];
		$args['sanitize_callback']    = function ( $value ) use ( $id_base ) {
			return $this->sanitize_widget_instance( $value, $id_base );
		};
		$args['sanitize_js_callback'] = function ( $value ) use ( $id_base ) {
			return $this->sanitize_widget_js_instance( $value, $id_base );
		};
		$args['transport']            = $this->is_widget_selective_refreshable( $matches['id_base'] ) ? 'postMessage' : 'refresh';
	}

	$args = array_merge( $args, $overrides );

	/**
	 * Filters the common arguments supplied when constructing a Customizer setting.
	 *
	 * @since 3.9.0
	 *
	 * @see WP_Customize_Setting
	 *
	 * @param array  $args Array of Customizer setting arguments.
	 * @param string $id   Widget setting ID.
	 */
	return apply_filters( 'widget_customizer_setting_args', $args, $id );
}

Hooks

apply_filters( ‘widget_customizer_setting_args’, array $args, string $id )

Filters the common arguments supplied when constructing a Customizer setting.

Changelog

VersionDescription
3.9.0Introduced.

User Contributed Notes

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