_wp_remove_unregistered_widgets()
Compares a list of sidebars with their widgets against an allowed list.
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
Array. Sidebars with allowed widgets.
Usage
_wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids );
- $sidebars_widgets(array) (required)
- List of sidebars and their widget instance IDs.
- $allowed_widget_ids(array)
- List of widget IDs to compare against.
Default:Registered widgets
Notes
- Global. Array.
$wp_registered_widgetsThe registered widgets.
Changelog
| Since 4.9.0 | Introduced. |
_wp_remove_unregistered_widgets() wp remove unregistered widgets code WP 6.9.1
function _wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids = array() ) {
if ( empty( $allowed_widget_ids ) ) {
$allowed_widget_ids = array_keys( $GLOBALS['wp_registered_widgets'] );
}
foreach ( $sidebars_widgets as $sidebar => $widgets ) {
if ( is_array( $widgets ) ) {
$sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $allowed_widget_ids );
}
}
return $sidebars_widgets;
}