W3cubDocs

/WordPress

_wp_remove_unregistered_widgets( array $sidebars_widgets, array $allowed_widget_ids = array() )

Compares a list of sidebars with their widgets against an allowed list.

Parameters

$sidebars_widgets

(array) (Required) List of sidebars and their widget instance IDs.

$allowed_widget_ids

(array) (Optional) List of widget IDs to compare against. Default: Registered widgets.

Default value: array()

Return

(array) Sidebars with allowed widgets.

Source

File: wp-includes/widgets.php

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

Changelog

Version Description
4.9.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/_wp_remove_unregistered_widgets