wp_count_sites()WP 5.3.0

Counts number of sites grouped by site status.

No Hooks.

Return

Int[]. Numbers of sites grouped by site status.

Usage

wp_count_sites( $network_id );
$network_id(int)
The network to get counts for.
Default: current network ID

Changelog

Since 5.3.0 Introduced.

wp_count_sites() code WP 6.6.2

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