是否有检索当前前端显示的WordPress侧边栏的功能?
答案 0 :(得分:0)
我发布了一个可行的解决方案,例如:Checking If A WordPress Widget Displayed In The Current Front End
dynamic_sidebar没有注册它已被调用的那个和侧边栏。也没有合适的钩子来自己做这件事。因此,我担心你必须告诉Wordpress每个模板显示哪些侧边栏。这样做的一种方法是创建一个像这样的包装函数
function wrap_dynamic_sidebar( $sidebar_id )
{
global $sidebars_in_this_template;
$sidebars_in_this_template[] = $sidebar_id;
return dynamic_sidebar( $sidebar_id );
}
并在任何地方替换dynamic_sidebar(但我知道这种解决方案很可能对您不可行)。
如果要显示所有侧边栏的列表,可以使用$ wp_registered_sidebars
global $wp_registered_sidebars;
$sidebar_ids = array_keys( $wp_registered_sidebars );