From 0a9c0442830029aa4df894e78fbff36551377ef9 Mon Sep 17 00:00:00 2001 From: Felix Arntz Date: Tue, 26 Jun 2018 16:29:33 +0000 Subject: [PATCH] Multisite: Count users in a more performant way when listing sites in the network admin. Props spacedmonkey. Fixes #44368. git-svn-id: https://develop.svn.wordpress.org/trunk@43382 602fd350-edb4-49c9-b593-d223f7449a82 --- .../includes/class-wp-ms-sites-list-table.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/wp-admin/includes/class-wp-ms-sites-list-table.php b/src/wp-admin/includes/class-wp-ms-sites-list-table.php index 5caa62c611..0cfef5b27c 100644 --- a/src/wp-admin/includes/class-wp-ms-sites-list-table.php +++ b/src/wp-admin/includes/class-wp-ms-sites-list-table.php @@ -406,14 +406,13 @@ class WP_MS_Sites_List_Table extends WP_List_Table { public function column_users( $blog ) { $user_count = wp_cache_get( $blog['blog_id'] . '_user_count', 'blog-details' ); if ( ! $user_count ) { - $blog_users = get_users( - array( - 'blog_id' => $blog['blog_id'], - 'fields' => 'ID', - ) - ); - $user_count = count( $blog_users ); - unset( $blog_users ); + $blog_users = new WP_User_Query( array( + 'blog_id' => $blog['blog_id'], + 'fields' => 'ID', + 'number' => 1, + 'count_total' => true, + ) ); + $user_count = $blog_users->get_total(); wp_cache_set( $blog['blog_id'] . '_user_count', $user_count, 'blog-details', 12 * HOUR_IN_SECONDS ); }