# is_active_widget()

URL: https://chugunov.pro/api-wordpress/functions/is_active_widget/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.2.0.

## Сигнатура

```php
is_active_widget( callable|false $callback = false, string|false $widget_id = false, string|false $id_base = false, bool $skip_inactive = true ): string|false
```

## Описание

Можно использовать либо $callback, либо $id_base.
$id_base — это первый аргумент при расширении класса WP_Widget.
Без необязательного параметра $widget_id возвращает ID первой боковой панели, в которой найден первый экземпляр виджета с заданной функцией обратного вызова или $id_base.
С параметром $widget_id возвращает ID боковой панели, где найден виджет с этой функцией обратного вызова/$id_base И этим ID.
ПРИМЕЧАНИЕ: $widget_id и $id_base совпадают для одиночных виджетов. Чтобы функция работала корректно, она должна выполняться после инициализации виджетов, на действии ‘init’ или позже.
Дополнительные сведения об этой и похожих функциях темы см. в статье о Conditional Tags в Theme Developer Handbook.

## Параметры

- `$callback` `callable|false` — необязательный, по умолчанию `false`. Функция обратного вызова виджета для проверки.
- `$widget_id` `string|false` — необязательный, по умолчанию `false`. ID виджета. Необязательный, но нужен для проверки.
- `$id_base` `string|false` — необязательный, по умолчанию `false`. Базовый ID виджета, созданного путём расширения WP_Widget.
- `$skip_inactive` `bool` — необязательный, по умолчанию `true`. Проверять ли в 'wp_inactive_widgets'.

## Возвращаемое значение

`string|false`

## Исходный код

Файл: `wp-includes/widgets.php:914`

```php
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 || ( isset( $wp_registered_widgets[ $widget ]['id'] ) && $widget_id === $wp_registered_widgets[ $widget ]['id'] ) ) {
							return $sidebar;
						}
					}
				}
			}
		}
	}
	return false;
}
```

## История изменений

- 2.2.0 — Introduced.

## Связанные

Использует: [`wp_get_sidebars_widgets`](https://chugunov.pro/api-wordpress/functions/wp_get_sidebars_widgets/), [`_get_widget_id_base`](https://chugunov.pro/api-wordpress/functions/_get_widget_id_base/).
Используется в: [`wp_list_widgets`](https://chugunov.pro/api-wordpress/functions/wp_list_widgets/), `WP_Widget_Recent_Comments::__construct`, `WP_Customize_Widgets::get_available_widgets`.

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/is_active_widget/
