On this page
_wp_remove_unregistered_widgets( array $sidebars_widgets, array $allowed_widget_ids = array() ): array
Compares a list of sidebars with their widgets against an allowed list.
Parameters
$sidebars_widgetsarray Required-
List of sidebars and their widget instance IDs.
$allowed_widget_idsarray Optional-
List of widget IDs to compare against. Default: Registered widgets.
Default:
array()
Return
array Sidebars with allowed widgets.
Source
File: wp-includes/widgets.php. View all references
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;
}
Related
Used By
| Used By | Description |
|---|---|
| wp_map_sidebars_widgets() wp-includes/widgets.php | Compares a list of sidebars with their widgets against an allowed list. |
| retrieve_widgets() wp-includes/widgets.php | Validates and remaps any “orphaned” widgets to wp_inactive_widgets sidebar, and saves the widget settings. This has to run at least on each theme change. |
Changelog
| Version | Description |
|---|---|
| 4.9.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/_wp_remove_unregistered_widgets