所有多站点博客上的页脚相同

时间:2012-01-18 作者:chifliiiii

有任何方法可以在所有网络站点上使用主站点页脚(blog id=1)。我希望在所有网络中都有相同的页脚。在主站点上,我得到了一个主题,而用户创建的子站点得到了另一个主题。

Basically i want to use the same footer on both themes but manage all the widgets from just the main site.

是否可以使用switch\\u to\\u blog或类似的工具来完成此操作?

更新:我试过了,但没有成功:

<?php
    global $switched;
    switch_to_blog(1);

     get_footer(); 

restore_current_blog();
?>

2 个回复
最合适的回答,由SO网友:shea 整理而成

首先,使用相同的footer.php 多个主题的文件可能会有问题,因为不同的主题使用不同的元素,需要在此文件中关闭这些元素。

更好的方法是创建一个自定义函数,在每个footer.php 文件这样的函数最好放在wp-content/mu-plugins 因此,它首先为每个站点加载:

function my_custom_footer() {
    echo \'Copyright &copy \' . date(\'Y\') .\' ACME Studios Inc.\';
}
然后在主题的footer.php 文件:

my_custom_footer();
另一个方法,而不是在中调用相同的函数every theme 将是钩入wp_footer 行动(应在每个主题中调用):

function my_custom_footer() {
    echo \'Copyright &copy \' . date(\'Y\') .\' ACME Studios Inc.\';
}
add_action( \'wp_footer\', \'my_custom_footer\' );
正在将此最新代码段拖放到中的文件中wp_content/mu-plugins 将使文本显示在每个主题的页脚中!如果要手动定位文本或设置文本样式,可以通过将调用定位到wp_footer() 在主题中footer.php 并将其包装在HTML元素中。

如果你想离开wp_footer() 对于隐藏的HTML内容(如页脚脚本),可以在中调用自己的操作footer.php 然后在任何你喜欢的地方勾住它:

在里面footer.php:

do_action( \'wpse_footer_content\' );
在mu插件中:

add_action( \'wpse_footer_content\', function () { ?>

    content goes here

<?php } );

SO网友:Nick Budden

对只需在页脚的任一端使用switch\\u to\\u blog和restore\\u current\\u blog,然后在这些功能之间对页脚进行编码,就像在主博客上一样。

结束