_register_widget_update_callback( string $id_base, callable $update_callback, array $options = array(), mixed $params )

In this article

Registers the update callback for a widget.


The base ID of a widget created by extending WP_Widget.
Update callback method for the widget.
Widget control options. See wp_register_widget_control() .
More Arguments from wp_register_widget_control( … $options )Array or string of control options.
  • height int
    Never used. Default 200.
  • width int
    Width of the fully expanded control form (but try hard to use the default width).
    Default 250.
  • id_base int|string
    Required for multi-widgets, i.e widgets that allow multiple instances such as the text widget. The widget ID will end up looking like {$id_base}-{$unique_number}.


Optional additional parameters to pass to the callback function when it’s called.


function _register_widget_update_callback( $id_base, $update_callback, $options = array(), ...$params ) {
	global $wp_registered_widget_updates;

	if ( isset( $wp_registered_widget_updates[ $id_base ] ) ) {
		if ( empty( $update_callback ) ) {
			unset( $wp_registered_widget_updates[ $id_base ] );

	$widget = array(
		'callback' => $update_callback,
		'params'   => $params,

	$widget                                   = array_merge( $widget, $options );
	$wp_registered_widget_updates[ $id_base ] = $widget;


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

User Contributed Notes

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