_register_widget_form_callback() WordPress Function

The register_widget_form_callback() function is used to register a callback for a particular widget form. This function takes two arguments: the name of the widget form to be registered, and the callback function to be called when the form is displayed. The callback function should take two arguments: the first is the WP_Widget object for the current widget, and the second is an array of the widget's settings. The callback function should return the updated settings array.

_register_widget_form_callback( int|string $id, string $name, callable $form_callback, array $options = array(), mixed $params ) #

Registers the form callback for a widget.


Parameters

$id

(int|string)(Required)Widget ID.

$name

(string)(Required)Name attribute for the widget.

$form_callback

(callable)(Required)Form callback.

$options

(array)(Optional) Widget control options. See wp_register_widget_control().

Default value: array()

$params

(mixed)(Optional)additional parameters to pass to the callback function when it's called.


Top ↑

Source

File: wp-includes/widgets.php

function _register_widget_form_callback( $id, $name, $form_callback, $options = array(), ...$params ) {
	global $wp_registered_widget_controls;

	$id = strtolower( $id );

	if ( empty( $form_callback ) ) {
		unset( $wp_registered_widget_controls[ $id ] );
		return;
	}

	if ( isset( $wp_registered_widget_controls[ $id ] ) && ! did_action( 'widgets_init' ) ) {
		return;
	}

	$defaults          = array(
		'width'  => 250,
		'height' => 200,
	);
	$options           = wp_parse_args( $options, $defaults );
	$options['width']  = (int) $options['width'];
	$options['height'] = (int) $options['height'];

	$widget = array(
		'name'     => $name,
		'id'       => $id,
		'callback' => $form_callback,
		'params'   => $params,
	);
	$widget = array_merge( $widget, $options );

	$wp_registered_widget_controls[ $id ] = $widget;
}


Top ↑

Changelog

Changelog
VersionDescription
5.3.0Formalized the existing and already documented ...$params parameter by adding it to the function signature.
2.8.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.