如何利用Switch_to_Blog实现主站点与子站点的主导航共享

时间:2018-01-01 作者:Mario

我已成功切换子网站的primiary导航菜单,以显示主网站主导航。

但是,它呈现在站点标题上方,而不是代码中指定的菜单位置。

以下是我目前拥有的代码:

    function wp_multisite_nav_menu() {
    global $blog_id;
}
    if ( ! is_multisite() || 2 == $blog_id ) {

    switch_to_blog( 1 );

    wp_nav_menu( array(
        \'menu\'              => 2,
        \'fallback_cb\'       => false,
        \'menu_class\'        => \'genesis-nav-menu\',
        \'theme_location\'    => \'Primary Navigation Menu\',

    )); 

    /*wp_multisite_nav_menu( $args );*/ 

    restore_current_blog(); 

}
我希望菜单被放置在“主导航菜单”位置。

我错过了什么?

请澄清。

1 个回复
SO网友:Mario

我解决了。

我没有进入正确的挂钩。以下是genesis framework站点的代码。

add_action(\'genesis_after_header\', \'primary_library_menu_switch\');
    function primary_library_menu_switch() {
        global $blog_id;
        if ( ! is_multisite() || 2 == $blog_id ) {
        switch_to_blog( 1 );

        wp_nav_menu( array(
            \'menu\'              => 2,
            \'fallback_cb\'       => false,
            \'menu_class\'        => \'genesis-nav-menu\',
            \'theme_location\'    => \'primary\'
        ) );

        restore_current_blog(); 
    }
    }

结束

相关推荐

WordPress MultiSite-当用户在主站点注册时,如何将用户添加到子站点

我正在建立一个Wordpress多站点网络,用户可以在主站点上订阅一个或多个服务,也可以访问子站点上的内容。子网站的访问权限将取决于他们在主站点上订阅的服务。我想使用一些代码做的是,当用户在主站点注册时,我可以将该用户添加到子网站,并添加一些属性/元数据来定义用户对子网站的访问权限(可能是我将使用memberpress来管理访问权限)我的主要问题是,当用户注册主站点时,可以使用什么代码将其添加到子站点?