WordPress.org

Make WordPress Core

Changeset 41796


Ignore:
Timestamp:
10/09/17 15:21:51 (3 months ago)
Author:
johnbillion
Message:

Users: Remove some links to the dashboard from My Sites for users who cannot access it.

See #41453

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/my-sites.php

    r41200 r41796  
    109109 
    110110    foreach ( $blogs as $user_blog ) { 
     111        switch_to_blog( $user_blog->userblog_id ); 
     112 
    111113        echo "<li>"; 
    112114        echo "<h3>{$user_blog->blogname}</h3>"; 
     115 
     116        $actions = "<a href='" . esc_url( home_url() ). "'>" . __( 'Visit' ) . '</a>'; 
     117 
     118        if ( current_user_can( 'read' ) ) { 
     119            $actions .= " | <a href='" . esc_url( admin_url() ) . "'>" . __( 'Dashboard' ) . '</a>'; 
     120        } 
     121 
    113122        /** 
    114123         * Filters the row links displayed for each site on the My Sites screen. 
     
    116125         * @since MU (3.0.0) 
    117126         * 
    118          * @param string $string    The HTML site link markup. 
     127         * @param string $actions   The HTML site link markup. 
    119128         * @param object $user_blog An object containing the site data. 
    120129         */ 
    121         echo "<p class='my-sites-actions'>" . apply_filters( 'myblogs_blog_actions', "<a href='" . esc_url( get_home_url( $user_blog->userblog_id ) ). "'>" . __( 'Visit' ) . "</a> | <a href='" . esc_url( get_admin_url( $user_blog->userblog_id ) ) . "'>" . __( 'Dashboard' ) . "</a>", $user_blog ) . "</p>"; 
     130        $actions = apply_filters( 'myblogs_blog_actions', $actions, $user_blog ); 
     131        echo "<p class='my-sites-actions'>" . $actions . '</p>'; 
     132 
    122133        /** This filter is documented in wp-admin/my-sites.php */ 
    123134        echo apply_filters( 'myblogs_options', '', $user_blog ); 
    124135        echo "</li>"; 
     136 
     137        restore_current_blog(); 
    125138    }?> 
    126139    </ul> 
  • trunk/src/wp-includes/admin-bar.php

    r41159 r41796  
    521521        $menu_id  = 'blog-' . $blog->userblog_id; 
    522522 
    523         $wp_admin_bar->add_menu( array( 
    524             'parent'    => 'my-sites-list', 
    525             'id'        => $menu_id, 
    526             'title'     => $blavatar . $blogname, 
    527             'href'      => admin_url(), 
    528         ) ); 
    529  
    530         $wp_admin_bar->add_menu( array( 
    531             'parent' => $menu_id, 
    532             'id'     => $menu_id . '-d', 
    533             'title'  => __( 'Dashboard' ), 
    534             'href'   => admin_url(), 
    535         ) ); 
     523        if ( current_user_can( 'read' ) ) { 
     524            $wp_admin_bar->add_menu( array( 
     525                'parent'    => 'my-sites-list', 
     526                'id'        => $menu_id, 
     527                'title'     => $blavatar . $blogname, 
     528                'href'      => admin_url(), 
     529            ) ); 
     530 
     531            $wp_admin_bar->add_menu( array( 
     532                'parent' => $menu_id, 
     533                'id'     => $menu_id . '-d', 
     534                'title'  => __( 'Dashboard' ), 
     535                'href'   => admin_url(), 
     536            ) ); 
     537        } else { 
     538            $wp_admin_bar->add_menu( array( 
     539                'parent'    => 'my-sites-list', 
     540                'id'        => $menu_id, 
     541                'title'     => $blavatar . $blogname, 
     542                'href'      => home_url(), 
     543            ) ); 
     544        } 
    536545 
    537546        if ( current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) { 
Note: See TracChangeset for help on using the changeset viewer.