WordPress.org

Make WordPress Core

Ticket #19122: 19122.2.diff

File 19122.2.diff, 2.9 KB (added by duck_, 7 years ago)
  • wp-includes/admin-bar.php

     
    228228        if ( $title != $blogname )
    229229                $title = trim( $title ) . '…';
    230230
     231        $member_of_site = is_super_admin() || is_user_member_of_blog( get_current_user_id(), get_current_blog_id() );
     232
    231233        $wp_admin_bar->add_menu( array(
    232234                'id'    => 'site-name',
    233235                'title' => $title,
    234                 'href'  => is_admin() ? home_url() : admin_url(),
     236                'href'  => ( ! $member_of_site || is_admin() ) ? home_url() : admin_url(),
    235237        ) );
    236238
    237         // Create submenu items.
     239        // Create submenu items if the current user is a member of the site.
     240        if ( $member_of_site ) {
     241                if ( is_admin() ) {
     242                        // Add an option to visit the site.
     243                        $wp_admin_bar->add_menu( array(
     244                                'parent' => 'site-name',
     245                                'id'     => 'view-site',
     246                                'title'  => __( 'Visit Site' ),
     247                                'href'   => home_url(),
     248                        ) );
     249                } else {
     250                        // Add the dashboard item.
     251                        $wp_admin_bar->add_menu( array(
     252                                'parent' => 'site-name',
     253                                'id'     => 'dashboard',
     254                                'title'  => __( 'Dashboard' ),
     255                                'href'   => admin_url(),
     256                        ) );
    238257
    239         if ( is_admin() ) {
    240                 // Add an option to visit the site.
    241                 $wp_admin_bar->add_menu( array(
    242                         'parent' => 'site-name',
    243                         'id'     => 'view-site',
    244                         'title'  => __( 'Visit Site' ),
    245                         'href'   => home_url(),
    246                 ) );
    247 
    248         // We're on the front end, print a copy of the admin menu.
    249         } else {
    250                 // Add the dashboard item.
    251                 $wp_admin_bar->add_menu( array(
    252                         'parent' => 'site-name',
    253                         'id'     => 'dashboard',
    254                         'title'  => __( 'Dashboard' ),
    255                         'href'   => admin_url(),
    256                 ) );
    257 
    258                 // Add the appearance submenu items.
    259                 wp_admin_bar_appearance_menu( $wp_admin_bar );
     258                        // Add the appearance submenu items.
     259                        wp_admin_bar_appearance_menu( $wp_admin_bar );
     260                }
    260261        }
    261262}
    262263
     
    272273        if ( ! is_user_logged_in() || ! is_multisite() )
    273274                return;
    274275
    275         // Show only when there are more than two items in the menu.
    276         if ( count( $wp_admin_bar->user->blogs ) <= 1 && ! is_super_admin() )
     276        // Show when the user has at least 1 site, or they're a super admin.
     277        if ( count( $wp_admin_bar->user->blogs ) < 1 && ! is_super_admin() )
    277278                return;
    278279
    279280        $wp_admin_bar->add_menu( array(
     
    331332        $blue_wp_logo_url = includes_url('images/wpmini-blue.png');
    332333
    333334        foreach ( (array) $wp_admin_bar->user->blogs as $blog ) {
    334                 // Skip the current blog (unless we're in the network/user admin).
    335                 if ( $blog->userblog_id == get_current_blog_id() && ! is_network_admin() && ! is_user_admin() ) {
    336                         continue;
    337                 }
    338 
    339335                // @todo Replace with some favicon lookup.
    340336                //$blavatar = '<img src="' . esc_url( blavatar_url( blavatar_domain( $blog->siteurl ), 'img', 16, $blue_wp_logo_url ) ) . '" alt="Blavatar" width="16" height="16" />';
    341337                $blavatar = '<img src="' . esc_url($blue_wp_logo_url) . '" alt="' . esc_attr__( 'Blavatar' ) . '" width="16" height="16" class="blavatar"/>';