使用wp_NAV_MENU()在网络安装中显示另一个站点的菜单?

时间:2011-08-19 作者:GreenDude

所以我基本上是在升级一个旧站点,我需要为一些博客等创建多站点。

我想有一个优雅的方式在其他网站上提供主网站菜单(从管理员创建)。也就是说,每个站点都有一个主题,如果我可以在每个站点上都使用wp\\u nav\\u menu()就好了。

有什么想法吗?

我查看了switch\\u to\\u blog(),但我发现它已被弃用。

干杯

2 个回复
SO网友:Michal Mau

这就是我最近使用的。这很简单,但对我来说效果很好。

    function wp_multisite_nav_menu( $args = array(), $origin_id = 1 ) {

        global $blog_id;
        $origin_id = absint( $origin_id );

        if ( !is_multisite() || $origin_id == $blog_id ) {
            wp_nav_menu( $args );
            return;
        }

        switch_to_blog( $origin_id );
        wp_nav_menu( $args );   
        restore_current_blog();

    }
我已经将其放入了一个mu插件文件中,该文件承载了许多小钩子和函数,用于在网络范围内运行。

SO网友:kaiser

我会说:编写一个简短的插件,提供一个简单的函数来输出菜单。然后在网络范围内激活它。

结束

相关推荐

如何让我的自定义帖子类型出现在NAV-menus.php‘Menu’中?

我的自定义帖子类型有点问题。我可以在我的主题中很好地创建它们,但我无法让它们显示在“菜单”屏幕中。。。至少在默认情况下不是这样。我曾尝试在代码中添加菜单和UI标志(见下文),但没有成功。有趣的是,当我启用自定义帖子类型UI插件时,自定义帖子类型在“菜单”屏幕中显示良好(有时)。这似乎向我暗示,我在某个地方遗漏了一个步骤,而且不知何故,自定义帖子类型UI插件设置了该标志,并允许我的自定义帖子类型和分类显示在导航菜单中。php“菜单”屏幕。编辑::以上位已回答。谢谢你,米洛。我应该在“屏幕选项”选项卡中打开它