mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-04 04:34:31 +00:00
Multisite/Sites: Add links to filter websites by status.
This commit brings the Network-Admin Sites list page up-to-speed with other similar list-table powered pages, by adding links to filter the results by Site Status. Includes a single unit test for the newly introduced `wp_count_sites()` multisite function, named to match the `wp_count_` function pattern from other list tables. Fixes #37392. Props mnelson4, spacedmonkey, pbiron. git-svn-id: https://develop.svn.wordpress.org/trunk@46251 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -34,6 +34,48 @@ if ( is_multisite() ) :
|
||||
$reg_blog = $wpdb->get_col( $wpdb->prepare( "SELECT email FROM {$wpdb->registration_log} WHERE {$wpdb->registration_log}.blog_id = 1 AND IP LIKE %s", $ip ) );
|
||||
$this->assertEquals( $user->user_email, $reg_blog[ count( $reg_blog ) - 1 ] );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 37392
|
||||
*/
|
||||
function test_wp_count_sites() {
|
||||
// create a random number of sites with each status.
|
||||
$site_ids = array(
|
||||
'public' => self::factory()->blog->create_many(
|
||||
random_int( 0, 5 ),
|
||||
array( 'meta' => array( 'public' => 1 ) )
|
||||
),
|
||||
'archived' => self::factory()->blog->create_many(
|
||||
random_int( 0, 5 ),
|
||||
array( 'meta' => array( 'archived' => 1 ) )
|
||||
),
|
||||
'mature' => self::factory()->blog->create_many(
|
||||
random_int( 0, 5 ),
|
||||
array( 'meta' => array( 'mature' => 1 ) )
|
||||
),
|
||||
'spam' => self::factory()->blog->create_many(
|
||||
random_int( 0, 5 ),
|
||||
array( 'meta' => array( 'spam' => 1 ) )
|
||||
),
|
||||
'deleted' => self::factory()->blog->create_many(
|
||||
random_int( 0, 5 ),
|
||||
array( 'meta' => array( 'deleted' => 1 ) )
|
||||
),
|
||||
);
|
||||
|
||||
$counts = wp_count_sites();
|
||||
|
||||
$counts_by_status = array_map( 'count', $site_ids );
|
||||
$expected = array_merge(
|
||||
array( 'all' => array_sum( $counts_by_status ) ),
|
||||
$counts_by_status
|
||||
);
|
||||
// add 1 to all & public for the main site.
|
||||
$expected['all'] += 1;
|
||||
$expected['public'] += 1;
|
||||
|
||||
$this->assertEquals( $expected, $counts );
|
||||
}
|
||||
}
|
||||
|
||||
endif;
|
||||
|
||||
Reference in New Issue
Block a user