Index: src/wp-admin/includes/class-wp-users-list-table.php
===================================================================
--- src/wp-admin/includes/class-wp-users-list-table.php (revision 39188)
+++ src/wp-admin/includes/class-wp-users-list-table.php (working copy)
@@ -173,27 +173,49 @@
global $role;
$wp_roles = wp_roles();
+ $count_users = true;
+
+ if ( wp_is_large_site() ) {
+ $count_users = false;
+ } elseif ( is_multisite() && wp_is_large_network( 'users' ) ) {
+ $count_users = false;
+ }
if ( $this->is_site_users ) {
$url = 'site-users.php?id=' . $this->site_id;
- switch_to_blog( $this->site_id );
- $users_of_blog = count_users();
- restore_current_blog();
+ if ( $count_users ) {
+ switch_to_blog( $this->site_id );
+ $users_of_blog = count_users();
+ restore_current_blog();
+ }
} else {
$url = 'users.php';
- $users_of_blog = count_users();
+ if ( $count_users ) {
+ $users_of_blog = count_users();
+ }
}
- $total_users = $users_of_blog['total_users'];
- $avail_roles =& $users_of_blog['avail_roles'];
- unset($users_of_blog);
+ if ( $count_users ) {
+ $total_users = $users_of_blog['total_users'];
+ $avail_roles =& $users_of_blog['avail_roles'];
+ unset( $users_of_blog );
+ } else {
+ $avail_roles = array();
+ }
$class = empty($role) ? ' class="current"' : '';
$role_links = array();
- $role_links['all'] = "" . sprintf( _nx( 'All (%s)', 'All (%s)', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '';
+
+ if ( $count_users ) {
+ $role_links['all'] = "" . sprintf( _nx( 'All (%s)', 'All (%s)', $total_users, 'users' ), number_format_i18n( $total_users ) ) . '';
+ } else {
+ $role_links['all'] = "" . _x( 'All', 'users' ) . '';
+ }
+
foreach ( $wp_roles->get_names() as $this_role => $name ) {
- if ( !isset($avail_roles[$this_role]) )
+ if ( $count_users && ! isset( $avail_roles[ $this_role ] ) ) {
continue;
+ }
$class = '';
@@ -202,12 +224,14 @@
}
$name = translate_user_role( $name );
- /* translators: User role name with count */
- $name = sprintf( __('%1$s (%2$s)'), $name, number_format_i18n( $avail_roles[$this_role] ) );
+ if ( $count_users ) {
+ /* translators: User role name with count */
+ $name = sprintf( __('%1$s (%2$s)'), $name, number_format_i18n( $avail_roles[$this_role] ) );
+ }
$role_links[$this_role] = "$name";
}
- if ( ! empty( $avail_roles['none' ] ) ) {
+ if ( ! $count_users || ! empty( $avail_roles['none' ] ) ) {
$class = '';
@@ -216,8 +240,10 @@
}
$name = __( 'No role' );
- /* translators: User role name with count */
- $name = sprintf( __('%1$s (%2$s)'), $name, number_format_i18n( $avail_roles['none' ] ) );
+ if ( $count_users ) {
+ /* translators: User role name with count */
+ $name = sprintf( __('%1$s (%2$s)'), $name, number_format_i18n( $avail_roles['none' ] ) );
+ }
$role_links['none'] = "$name";
}
Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php (revision 39188)
+++ src/wp-includes/functions.php (working copy)
@@ -5577,3 +5577,16 @@
return $last_changed;
}
+
+/**
+ * Whether or not we have a large site.
+ *
+ * The default criteria for a large site is more than 10,000 users.
+ *
+ * @since x.x.x
+ *
+ * @return bool True if the site meets the criteria for large. False otherwise.
+ */
+function wp_is_large_site() {
+ return false;
+}