WordPress.org

Make WordPress Core

Ticket #38741: 38741.diff

File 38741.diff, 3.9 KB (added by johnbillion, 5 years ago)
  • src/wp-admin/includes/class-wp-users-list-table.php

     
    173173                global $role;
    174174
    175175                $wp_roles = wp_roles();
     176                $count_users = true;
     177
     178                if ( wp_is_large_site() ) {
     179                        $count_users = false;
     180                } elseif ( is_multisite() && wp_is_large_network( 'users' ) ) {
     181                        $count_users = false;
     182                }
    176183
    177184                if ( $this->is_site_users ) {
    178185                        $url = 'site-users.php?id=' . $this->site_id;
    179                         switch_to_blog( $this->site_id );
    180                         $users_of_blog = count_users();
    181                         restore_current_blog();
     186                        if ( $count_users ) {
     187                                switch_to_blog( $this->site_id );
     188                                $users_of_blog = count_users();
     189                                restore_current_blog();
     190                        }
    182191                } else {
    183192                        $url = 'users.php';
    184                         $users_of_blog = count_users();
     193                        if ( $count_users ) {
     194                                $users_of_blog = count_users();
     195                        }
    185196                }
    186197
    187                 $total_users = $users_of_blog['total_users'];
    188                 $avail_roles =& $users_of_blog['avail_roles'];
    189                 unset($users_of_blog);
     198                if ( $count_users ) {
     199                        $total_users =  $users_of_blog['total_users'];
     200                        $avail_roles =& $users_of_blog['avail_roles'];
     201                        unset( $users_of_blog );
     202                } else {
     203                        $avail_roles = array();
     204                }
    190205
    191206                $class = empty($role) ? ' class="current"' : '';
    192207                $role_links = array();
    193                 $role_links['all'] = "<a href='$url'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '</a>';
     208
     209                if ( $count_users ) {
     210                        $role_links['all'] = "<a href='$url'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '</a>';
     211                } else {
     212                        $role_links['all'] = "<a href='$url'$class>" . _x( 'All', 'users' ) . '</a>';
     213                }
     214
    194215                foreach ( $wp_roles->get_names() as $this_role => $name ) {
    195                         if ( !isset($avail_roles[$this_role]) )
     216                        if ( $count_users && ! isset( $avail_roles[ $this_role ] ) ) {
    196217                                continue;
     218                        }
    197219
    198220                        $class = '';
    199221
     
    202224                        }
    203225
    204226                        $name = translate_user_role( $name );
    205                         /* translators: User role name with count */
    206                         $name = sprintf( __('%1$s <span class="count">(%2$s)</span>'), $name, number_format_i18n( $avail_roles[$this_role] ) );
     227                        if ( $count_users ) {
     228                                /* translators: User role name with count */
     229                                $name = sprintf( __('%1$s <span class="count">(%2$s)</span>'), $name, number_format_i18n( $avail_roles[$this_role] ) );
     230                        }
    207231                        $role_links[$this_role] = "<a href='" . esc_url( add_query_arg( 'role', $this_role, $url ) ) . "'$class>$name</a>";
    208232                }
    209233
    210                 if ( ! empty( $avail_roles['none' ] ) ) {
     234                if ( ! $count_users || ! empty( $avail_roles['none' ] ) ) {
    211235
    212236                        $class = '';
    213237
     
    216240                        }
    217241
    218242                        $name = __( 'No role' );
    219                         /* translators: User role name with count */
    220                         $name = sprintf( __('%1$s <span class="count">(%2$s)</span>'), $name, number_format_i18n( $avail_roles['none' ] ) );
     243                        if ( $count_users ) {
     244                                /* translators: User role name with count */
     245                                $name = sprintf( __('%1$s <span class="count">(%2$s)</span>'), $name, number_format_i18n( $avail_roles['none' ] ) );
     246                        }
    221247                        $role_links['none'] = "<a href='" . esc_url( add_query_arg( 'role', 'none', $url ) ) . "'$class>$name</a>";
    222248
    223249                }
  • src/wp-includes/functions.php

     
    55775577
    55785578        return $last_changed;
    55795579}
     5580
     5581/**
     5582 * Whether or not we have a large site.
     5583 *
     5584 * The default criteria for a large site is more than 10,000 users.
     5585 *
     5586 * @since x.x.x
     5587 *
     5588 * @return bool True if the site meets the criteria for large. False otherwise.
     5589 */
     5590function wp_is_large_site() {
     5591        return false;
     5592}