连接以取代边栏/小部件区域

时间:2011-04-12 作者:Dunhamzzz

目标是:用从插件加载的内容替换我网络中所有站点的侧边栏,跨越所有主题

我需要一种方法来覆盖我网络中所有站点上的侧边栏/主小部件区域。

我写了一个插件,它通过函数调用生成侧栏,但是how can I get this content to completely replace the sidebar? 目前我只能称钩子为get_sidebar() 发生,而不是替换该操作。

add_action(\'get_sidebar\', \'my_get_sidebar\', 11);
此外,这使我的边栏出现在页面上的所有边栏上,我只希望它覆盖主边栏(边栏一?)并让其他人留白。

1 个回复
SO网友:Wyck

您应该考虑让侧栏使用删除操作功能。

然后,您可以删除侧栏,并以多种方式将其替换为函数。

例如(此示例使用基于名为some-page.

function change_sidebar_yay() {
    if ( is_single(\'some-page\') ) {
        remove_action( \'old_sidebar\', \'your_function\' ); //this is sidebar you want removed
        add_action(\'get_sidebar\', \'my_get_sidebar\', 11);
    }
}

http://codex.wordpress.org/Function_Reference/remove_action

这个old_sidebaryour_function 是要删除的边栏的名称和函数名,您必须在主题中查找主题作者使用的实际值(通常在functions.php 但并非总是如此)。

此外,如果主题是硬编码的,或者没有使用挂钩/操作创建侧栏,那么这将不起作用。

结束

相关推荐

Problem with widgets

我使用的主题是3灰色。它已启用小部件。主题中很少有硬编码的小部件。这些小部件不会出现在小部件页面的侧栏中。如果我尝试添加新的小部件,旧的小部件会被删除。这是正常情况吗。或者这里有什么问题吗。