функция since 2.2.0

is_active_widget()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

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.

Оригинал (английский)

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 ‘init’ or later.

For more information on this and similar theme functions, check out the Conditional Tags article in the 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

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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.