目标是:用从插件加载的内容替换我网络中所有站点的侧边栏,跨越所有主题
我需要一种方法来覆盖我网络中所有站点上的侧边栏/主小部件区域。
我写了一个插件,它通过函数调用生成侧栏,但是how can I get this content to completely replace the sidebar? 目前我只能称钩子为get_sidebar()
发生,而不是替换该操作。
add_action(\'get_sidebar\', \'my_get_sidebar\', 11);
此外,这使我的边栏出现在页面上的所有边栏上,我只希望它覆盖主边栏(边栏一?)并让其他人留白。
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_sidebar
和
your_function
是要删除的边栏的名称和函数名,您必须在主题中查找主题作者使用的实际值(通常在
functions.php 但并非总是如此)。
此外,如果主题是硬编码的,或者没有使用挂钩/操作创建侧栏,那么这将不起作用。