_wp_remove_unregistered_widgets()WP 4.9.0

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.

Return

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_widgets The registered widgets.

Changelog

Since 4.9.0 Introduced.

_wp_remove_unregistered_widgets() code WP 6.5.2

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;
}