Make WordPress Core

Changeset 41796


Ignore:
Timestamp:
10/09/2017 03:21:51 PM (7 years 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.