WordPress.org

Make WordPress Core

Ticket #28226: 28226-plugin.php.diff

File 28226-plugin.php.diff, 1.0 KB (added by norcross, 6 years ago)

adds the additional check for is_network_admin

  • plugin.php

     
    14391439function menu_page_url($menu_slug, $echo = true) {
    14401440        global $_parent_pages;
    14411441
    1442         if ( isset( $_parent_pages[$menu_slug] ) ) {
     1442        if ( isset( $_parent_pages[$menu_slug] ) && is_network_admin() ) {
    14431443                $parent_slug = $_parent_pages[$menu_slug];
    14441444                if ( $parent_slug && ! isset( $_parent_pages[$parent_slug] ) ) {
     1445                        $url = network_admin_url( add_query_arg( 'page', $menu_slug, $parent_slug ) );
     1446                } else {
     1447                        $url = network_admin_url( 'admin.php?page=' . $menu_slug );
     1448                }
     1449        } else if ( isset( $_parent_pages[$menu_slug] ) && ! is_network_admin() ) {
     1450                $parent_slug = $_parent_pages[$menu_slug];
     1451                if ( $parent_slug && ! isset( $_parent_pages[$parent_slug] ) ) {
    14451452                        $url = admin_url( add_query_arg( 'page', $menu_slug, $parent_slug ) );
    14461453                } else {
    14471454                        $url = admin_url( 'admin.php?page=' . $menu_slug );
     
    14581465        return $url;
    14591466}
    14601467
     1468
    14611469//
    14621470// Pluggable Menu Support -- Private
    14631471//