_register_widget_form_callback()
Registers the form callback for a widget.
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
No Hooks.
Returns
null. Nothing (null).
Usage
_register_widget_form_callback( $id, $name, $form_callback, $options, ...$params );
- $id(int|string) (required)
- Widget ID.
- $name(string) (required)
- Name attribute for the widget.
- $form_callback(callable) (required)
- Form callback.
- $options(array)
- Widget control options. See wp_register_widget_control().
Default: empty array - ...$params(mixed) (required)
- Optional additional parameters to pass to the callback function when it's called.
Notes
- Global. Array. $wp_registered_widget_controls The registered widget controls.
Changelog
| Since 2.8.0 | Introduced. |
| Since 5.3.0 | Formalized the existing and already documented ...$params parameter by adding it to the function signature. |
_register_widget_form_callback() register widget form callback code WP 6.9
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;
}