wp_assign_widget_to_sidebar()WP 5.8.0

Assigns a widget to the given sidebar.

No Hooks.

Return

null. Nothing (null).

Usage

wp_assign_widget_to_sidebar( $widget_id, $sidebar_id );
$widget_id(string) (required)
The widget ID to assign.
$sidebar_id(string) (required)
The sidebar ID to assign to. If empty, the widget won't be added to any sidebar.

Changelog

Since 5.8.0 Introduced.

wp_assign_widget_to_sidebar() code WP 6.4.3

function wp_assign_widget_to_sidebar( $widget_id, $sidebar_id ) {
	$sidebars = wp_get_sidebars_widgets();

	foreach ( $sidebars as $maybe_sidebar_id => $widgets ) {
		foreach ( $widgets as $i => $maybe_widget_id ) {
			if ( $widget_id === $maybe_widget_id && $sidebar_id !== $maybe_sidebar_id ) {
				unset( $sidebars[ $maybe_sidebar_id ][ $i ] );
				// We could technically break 2 here, but continue looping in case the ID is duplicated.
				continue 2;
			}
		}
	}

	if ( $sidebar_id ) {
		$sidebars[ $sidebar_id ][] = $widget_id;
	}

	wp_set_sidebars_widgets( $sidebars );
}