WordPress.org

Make WordPress Core

Ticket #33967: 33967.4.patch

File 33967.4.patch, 5.3 KB (added by Mista-Flo, 5 years ago)

Just a single diff instead of all commits

  • wp-admin/includes/class-wp-ms-sites-list-table.php

    diff --git a/wp-admin/includes/class-wp-ms-sites-list-table.php b/wp-admin/includes/class-wp-ms-sites-list-table.php
    index 9ce3ffe..0d8410a 100644
    a b class WP_MS_Sites_List_Table extends WP_List_Table { 
    388388         * Handles the users column output.
    389389         *
    390390         * @since 4.3.0
     391         * @since 4.7.0 Display First user of the site, and number of users in the site
    391392         * @access public
    392393         *
    393394         * @param array $blog Current site.
    394395         */
    395396        public function column_users( $blog ) {
     397                $mode = '';
     398                if ( isset( $_GET['mode'] ) && 'excerpt' === $_GET['mode'] ) {
     399                        $mode = 'excerpt';
     400                }
     401
     402                $blog_users = get_users( array(
     403                        'blog_id' => $blog['blog_id'],
     404                        'orderby' => 'registered',
     405                ) );
     406
    396407                $user_count = wp_cache_get( $blog['blog_id'] . '_user_count', 'blog-details' );
    397408                if ( ! $user_count ) {
    398                         $blog_users = get_users( array( 'blog_id' => $blog['blog_id'], 'fields' => 'ID' ) );
    399409                        $user_count = count( $blog_users );
    400                         unset( $blog_users );
    401410                        wp_cache_set( $blog['blog_id'] . '_user_count', $user_count, 'blog-details', 12 * HOUR_IN_SECONDS );
    402411                }
    403412
    404413                printf(
    405414                        '<a href="%s">%s</a>',
    406                         esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ),
    407                         number_format_i18n( $user_count )
     415                        esc_url( network_admin_url( 'user-edit.php?user_id=' . $blog_users[0]->ID ) ),
     416                        $blog_users[0]->user_login
    408417                );
     418
     419                if ( $user_count > 1 ) {
     420                        if ( 'excerpt' === $mode) {
     421                                foreach ( $blog_users as $key => $user ) {
     422                                        // Don't display again the first user
     423                                        if ( 0 === $key ) {
     424                                                continue;
     425                                        }
     426
     427                                        printf(
     428                                                '<a href="%s">%s</a>',
     429                                                esc_url( network_admin_url( 'user-edit.php?user_id=' . $user->ID ) ),
     430                                                $user->user_login
     431                                        );
     432
     433                                        // Only display 10 first users
     434                                        if ( $user_count > 10 && 9 === $key ) {
     435                                                printf( '<a href="%s">%s</a>',
     436                                                        esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ),
     437                                                        sprintf(
     438                                                                _x( '+ %s more users', 'Number of users of a site of a network (in admin page : wp-admin/network/sites.php)' ),
     439                                                                number_format_i18n( $user_count -10 )
     440                                                        )
     441                                                );
     442                                                break;
     443                                        }
     444                                }
     445                        } else { // List mode
     446                                printf( '<a href="%s">%s</a>',
     447                                        esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ),
     448                                        sprintf(
     449                                                _x( '+ %s more users', 'Number of users of a site of a network (in admin page : wp-admin/network/sites.php)' ),
     450                                                number_format_i18n( $user_count -1 )
     451                                        )
     452                                );
     453                        }
     454                }
     455
     456                unset( $blog_users );
    409457        }
    410458
    411459        /**