wpseek.com
				A WordPress-centric search engine for devs and theme authors
			is_active_widget › WordPress Function
Since2.2.0
Deprecatedn/a
› is_active_widget ( $callback = false, $widget_id = false, $id_base = false, $skip_inactive = true )
| Parameters: (4) | 
 | 
| Returns: | 
 | 
| Defined at: | 
 | 
| Codex: | 
Determines whether a given widget is displayed on the front end.
Either $callback or $id_base can be used. $id_base is the first argument when extending WP_Widget class. Without the optional $widget_id parameter, returns the ID of the first sidebar in which the first instance of the widget with the given callback or $id_base is found. With the $widget_id parameter, returns the ID of the sidebar where the widget with that callback/$id_base AND that ID is found. NOTE: $widget_id and $id_base are the same for single widgets. To be effective this function has to run after widgets have initialized, at action {@see 'init'} or later. For more information on this and similar theme functions, check out the {@link Conditional Tags} article in the Theme Developer Handbook.Related Functions: is_active_sidebar, register_widget, the_widget, retrieve_widgets, unregister_widget
	Source
function is_active_widget( $callback = false, $widget_id = false, $id_base = false, $skip_inactive = true ) {
	global $wp_registered_widgets;
	$sidebars_widgets = wp_get_sidebars_widgets();
	if ( is_array( $sidebars_widgets ) ) {
		foreach ( $sidebars_widgets as $sidebar => $widgets ) {
			if ( $skip_inactive && ( 'wp_inactive_widgets' === $sidebar || str_starts_with( $sidebar, 'orphaned_widgets' ) ) ) {
				continue;
			}
			if ( is_array( $widgets ) ) {
				foreach ( $widgets as $widget ) {
					if ( ( $callback && isset( $wp_registered_widgets[ $widget ]['callback'] ) && $wp_registered_widgets[ $widget ]['callback'] === $callback ) || ( $id_base && _get_widget_id_base( $widget ) === $id_base ) ) {
						if ( ! $widget_id || $widget_id === $wp_registered_widgets[ $widget ]['id'] ) {
							return $sidebar;
						}
					}
				}
			}
		}
	}
	return false;
}