is_active_widget

函式
is_active_widget ( $callback = false, $widget_id = false, $id_base = false, $skip_inactive = true )
引數
  • (callable|false) $callback Optional. Widget callback to check. Default false.
    Required:
    Default: false
  • (string|false) $widget_id Optional. Widget ID. Optional, but needed for checking. Default false.
    Required:
    Default: false
  • (string|false) $id_base Optional. The base ID of a widget created by extending WP_Widget. Default false.
    Required:
    Default: false
  • (bool) $skip_inactive Optional. Whether to check in 'wp_inactive_widgets'. Default true.
    Required:
    Default: true
返回值
  • (string|false) ID of the sidebar in which the widget is active, false if the widget is not active.
定義位置
相關方法
is_active_sidebarregister_widgetthe_widgetretrieve_widgetsunregister_widget
引入
2.2.0
棄用
-

is_active_widget: 這個函式用來檢查一個小工具是否當前在網站上是活躍的。它以小工具的ID為引數,如果該小工具是活動的,則返回true,否則返回false。

決定一個給定的小工具是否在前端顯示。

可以使用$callback或者$id_base $id_base是擴充套件WP_Widget類時的第一個引數 沒有可選的$widget_id引數,返回第一個側邊欄的ID,在這個側邊欄中發現了帶有給定回撥或者$id_base的widget的第一個例項。如果有$widget_id引數,則返回側邊欄的ID,在該側邊欄中發現了具有該回撥/$id_base和該ID的widget。

注意:$widget_id和$id_base對於單個widget來說是一樣的。為了有效,這個函式必須在widget初始化後執行,在{@see ‘init’}或以後的動作中。

關於這個和類似主題函式的更多資訊,請檢視《主題開發者手冊》中的{@link Conditional Tags}文章。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 || 'orphaned_widgets' === substr( $sidebar, 0, 16 ) ) ) {
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;
}
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 || 'orphaned_widgets' === substr( $sidebar, 0, 16 ) ) ) { 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; }
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 || 'orphaned_widgets' === substr( $sidebar, 0, 16 ) ) ) {
				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;
}

常見問題

FAQs
檢視更多 >