How to get correct URLs in network wide menu (Multisite)?

Question

I’m using this function to switch to my main website’s navigation and display it on all sub sites in my multisite network. Ideally the links should have the following format:

http://www.mysite.com/navigation-link

but on the sub-sites the urls are http://www.mysite.com/subsite/navigation-link

Obviously these pages don’t exist so it’s just showing a blank page. Any idea how I could make sure the urls are like the first example and how I might incorporate that into my function?

function wp_multisite_nav_menu() {

    global $blog_id;

    $args = array(
            'menu' => 'Main Menu',
            'theme_location' => 'main-nav'

        );

    $main_blog = 1; 

    $main_blog = absint( $main_blog );


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

    else {

    switch_to_blog( 1 );

    echo wp_nav_menu( $args );

    restore_current_blog();

    }

}
0
, , , chap 9 months 0 Answers 65 views 0

Leave an answer