Multisite: Add $network_id
parameter to get_user_count()
.
The `get_user_count()` function returns the number of active users on a network, which is stored in a `user_count` network option. Since `get_network_option()` supports retrieving options from other networks than the current one, `get_user_count()` can now make use of that feature. Fixes #37866. git-svn-id: https://develop.svn.wordpress.org/trunk@40371 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
117f2da3cc
commit
707bf79a9b
@ -96,11 +96,13 @@ function get_active_blog_for_user( $user_id ) {
|
||||
* The count is cached and updated twice daily. This is not a live count.
|
||||
*
|
||||
* @since MU 2.7
|
||||
* @since 4.8.0 The $network_id parameter has been added.
|
||||
*
|
||||
* @return int
|
||||
* @param int|null $network_id ID of the network. Default is the current network.
|
||||
* @return int Number of active users on the network.
|
||||
*/
|
||||
function get_user_count() {
|
||||
return get_site_option( 'user_count' );
|
||||
function get_user_count( $network_id = null ) {
|
||||
return get_network_option( $network_id, 'user_count' );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -205,6 +205,35 @@ class Tests_Multisite_Network extends WP_UnitTestCase {
|
||||
$this->assertSame( count( self::$different_site_ids ), $site_count );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 37866
|
||||
*/
|
||||
public function test_get_user_count_on_different_network() {
|
||||
global $current_site, $wpdb;
|
||||
|
||||
wp_update_network_user_counts();
|
||||
$current_network_user_count = get_user_count();
|
||||
|
||||
// switch_to_network()...
|
||||
$orig_network_id = $current_site->id;
|
||||
$orig_wpdb_network_id = $wpdb->siteid;
|
||||
$current_site->id = self::$different_network_id;
|
||||
$wpdb->siteid = self::$different_network_id;
|
||||
|
||||
// Add another user to fake the network user count to be different.
|
||||
wpmu_create_user( 'user', 'pass', 'email' );
|
||||
|
||||
wp_update_network_user_counts();
|
||||
|
||||
// restore_current_network()...
|
||||
$current_site->id = $orig_network_id;
|
||||
$wpdb->siteid = $orig_wpdb_network_id;
|
||||
|
||||
$user_count = get_user_count( self::$different_network_id );
|
||||
|
||||
$this->assertEquals( $current_network_user_count + 1, $user_count );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 22917
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user