sidebars_widgets
云策文档标注
概述
sidebars_widgets 是一个 WordPress 过滤器,用于修改侧边栏及其小部件的列表。它允许开发者在运行时动态调整侧边栏中的小部件配置。
关键要点
- 过滤器名称:sidebars_widgets
- 参数:$sidebars_widgets,一个关联数组,包含侧边栏及其小部件实例 ID 的列表
- 用途:过滤或修改侧边栏的小部件列表,例如基于页面条件隐藏特定小部件
- 相关函数:wp_get_sidebars_widgets() 用于检索侧边栏和小部件实例 ID 的完整列表
- 引入版本:WordPress 2.7.0
代码示例
add_filter( 'sidebars_widgets', 'wpdocs_remove_about_me_widget' );
function wpdocs_remove_about_me_widget( $sidebars_widgets ) {
if ( is_admin() ) {
return $sidebars_widgets;
}
if ( is_page( 'about' ) || is_home() ) {
$key = array_search( 'text-3', $sidebars_widgets['primary-sidebar'] );
if ( false !== $key ) {
unset( $sidebars_widgets['primary-sidebar'][ $key ] );
}
}
return $sidebars_widgets;
}注意事项
在管理界面(is_admin())中应避免修改,以确保后台操作正常。示例中展示了如何基于页面条件(如 is_page('about') 或 is_home())移除特定小部件(如 'text-3')。
原文内容
Filters the list of sidebars and their widgets.
Parameters
$sidebars_widgetsarray-
An associative array of sidebars and their widgets.
Source
return apply_filters( 'sidebars_widgets', $sidebars_widgets );
Changelog
| Version | Description |
|---|---|
| 2.7.0 | Introduced. |
Skip to note 2 content
Jose Lazo
Hide Widgets on Specific WordPress Pages
add_filter( 'sidebars_widgets', 'wpdocs_remove_about_me_widget' ); function wpdocs_remove_about_me_widget( $sidebars_widgets ) { if ( is_admin() ) { return $sidebars_widgets; } if ( is_page( 'about' ) || is_home() ) { $key = array_search( 'text-3', $sidebars_widgets['primary-sidebar'] ); if ( false !== $key ) { unset( $sidebars_widgets['primary-sidebar'][ $key ] ); } } return $sidebars_widgets; }