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. Built from https://develop.svn.wordpress.org/trunk@46251 git-svn-id: http://core.svn.wordpress.org/trunk@46063 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
956725990f
commit
b65ea119bb
|
@ -369,6 +369,8 @@ if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
|
|||
|
||||
<hr class="wp-header-end">
|
||||
|
||||
<?php $wp_list_table->views(); ?>
|
||||
|
||||
<?php echo $msg; ?>
|
||||
|
||||
<form method="get" id="ms-search" class="wp-clearfix">
|
||||
|
|
|
@ -853,3 +853,42 @@ function _update_posts_count_on_transition_post_status( $new_status, $old_status
|
|||
|
||||
update_posts_count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Count number of sites grouped by site status.
|
||||
*
|
||||
* @since 5.3.0
|
||||
*
|
||||
* @param int $network_id The network to get counts for. Default is the current network id.
|
||||
* @return array Includes a grand total 'all' and an array of counts indexed by
|
||||
* status strings: public, archived, mature, spam, deleted.
|
||||
*/
|
||||
function wp_count_sites( $network_id = null ) {
|
||||
if ( empty( $network_id ) ) {
|
||||
$network_id = get_current_network_id();
|
||||
}
|
||||
|
||||
$counts = array();
|
||||
$args = array(
|
||||
'network_id' => $network_id,
|
||||
'number' => 1,
|
||||
'fields' => 'ids',
|
||||
'no_found_rows' => false,
|
||||
);
|
||||
|
||||
$q = new WP_Site_Query( $args );
|
||||
$counts['all'] = $q->found_sites;
|
||||
|
||||
$_args = $args;
|
||||
$statuses = array( 'public', 'archived', 'mature', 'spam', 'deleted' );
|
||||
|
||||
foreach ( $statuses as $status ) {
|
||||
$_args = $args;
|
||||
$_args[ $status ] = 1;
|
||||
|
||||
$q = new WP_Site_Query( $_args );
|
||||
$counts[ $status ] = $q->found_sites;
|
||||
}
|
||||
|
||||
return $counts;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '5.3-alpha-46250';
|
||||
$wp_version = '5.3-alpha-46251';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue