从当前前端获取WordPress边栏

时间:2012-11-15 18:58:56

标签: wordpress

是否有检索当前前端显示的WordPress侧边栏的功能?

1 个答案:

答案 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 );