is_dynamic_sidebar()
云策文档标注
概述
is_dynamic_sidebar() 是一个 WordPress 条件函数,用于检查主题是否启用了动态侧边栏(即使用了小部件)。它返回一个布尔值,指示小部件是否正在使用中。
关键要点
- 函数返回 true 如果主题使用了小部件,否则返回 false。
- 它通过检查注册的侧边栏和小部件配置来确定动态侧边栏的状态。
- 此函数在 WordPress 2.2.0 版本中引入,属于主题开发中的条件标签。
代码示例
function is_dynamic_sidebar() {
global $wp_registered_widgets, $wp_registered_sidebars;
$sidebars_widgets = get_option( 'sidebars_widgets' );
foreach ( (array) $wp_registered_sidebars as $index => $sidebar ) {
if ( ! empty( $sidebars_widgets[ $index ] ) ) {
foreach ( (array) $sidebars_widgets[ $index ] as $widget ) {
if ( array_key_exists( $widget, $wp_registered_widgets ) ) {
return true;
}
}
}
}
return false;
}注意事项
- 此函数依赖于全局变量 $wp_registered_widgets 和 $wp_registered_sidebars,以及 get_option('sidebars_widgets') 获取的小部件配置。
- 开发者应参考主题开发者手册中的条件标签文章以了解更多相关信息。
原文内容
Determines whether the dynamic sidebar is enabled and used by the theme.
Description
For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.
Source
function is_dynamic_sidebar() {
global $wp_registered_widgets, $wp_registered_sidebars;
$sidebars_widgets = get_option( 'sidebars_widgets' );
foreach ( (array) $wp_registered_sidebars as $index => $sidebar ) {
if ( ! empty( $sidebars_widgets[ $index ] ) ) {
foreach ( (array) $sidebars_widgets[ $index ] as $widget ) {
if ( array_key_exists( $widget, $wp_registered_widgets ) ) {
return true;
}
}
}
}
return false;
}
Changelog
| Version | Description |
|---|---|
| 2.2.0 | Introduced. |