wp_count_sites( int $network_id = null )

Count number of sites grouped by site status.

Parameters

$network_id

(int) (Optional) The network to get counts for. Default is the current network ID.

Default value: null

Return

(int[]) Numbers of sites grouped by site status.

  • 'all'
    (int) The total number of sites.
  • 'public'
    (int) The number of public sites.
  • 'archived'
    (int) The number of archived sites.
  • 'mature'
    (int) The number of mature sites.
  • 'spam'
    (int) The number of spam sites.
  • 'deleted'
    (int) The number of deleted sites.

Source

File: wp-includes/ms-blogs.php

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;
}

Changelog

Version Description
5.3.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_count_sites