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
-
(callable|false)
- 返回值
-
- (string|false) ID of the sidebar in which the widget is active, false if the widget is not active.
- 定义位置
-
-
wp-includes/widgets.php
, line 904
-
wp-includes/widgets.php
- 引入
- 2.2.0
- 弃用
- –
决定一个给定的小工具是否在前端显示。
可以使用$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}文章。
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; }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。