最灵活的方法是将此功能包装到插件中。如果你把它放在你的mu插件文件夹中,它将自动在所有网站上使用。或者,您可以通过网络激活它来实现相同的效果。这种方法的优点是,您可以轻松地打开或关闭它,并使站点的这方面模块化,这有助于主题测试。
来自法典
将当前博客切换到其他博客。如果需要从其他博客获取帖子或其他信息,请将\\u切换到\\u blog()。
之后可以使用restore\\u current\\u blog()切换回。请注意,此函数仅反转上一次博客切换操作,通常是最近调用switch\\u to\\u blog()。请参阅下面的示例,了解在使用多个switch\\u to\\u blog()时如何继续。
有些人说switch\\u to\\u blog()需要大量资源,但我在测试期间没有遇到任何问题。
Andrea R写了一篇plugin 这通过使用WordPress缓存来解决这个问题,然后在更新时刷新缓存,但下面的方法更灵活。
我将绘制一个基本示例,您可以在此基础上进行构建。它实际上没有向页眉或页脚添加任何内容,因此您需要使用插件api连接到主题中。
<?php
/**
* Plugin Name: Header-Footer
* Plugin URI: example.com
* Description:
* Author:
* Author URI:
*/
$main_site = 1;
function make_menu()
{
$args = array(
\'authors\' => \'\',
\'child_of\' => 0,
\'date_format\' => get_option(\'date_format\'),
\'depth\' => 1,
\'echo\' => 0,
\'exclude\' => \'42,311\',
\'include\' => \'\',
\'link_after\' => \'\',
\'link_before\' => \'\',
\'post_type\' => \'page\',
\'post_status\' => \'publish\',
\'show_date\' => \'\',
\'sort_column\' => \'menu_order, post_title\',
\'title_li\' => \'\',
\'walker\' => \'\'
);
$menu = wp_list_pages( $args );
update_option(\'network_menu\', $menu);
echo $menu;
}
// Test if we\'re on a sub-site
if (!is_main_site())
{
//Switch to the main site
switch_to_blog( $main_site );
make_menu();
restore_current_blog();
}
// Else use normal methods
else
{
make_menu();
}
祝你好运!