wp_count_sites( int $network_id = null ): int[]

In this article

Counts number of sites grouped by site status.

Parameters

$network_idintoptional
The network to get counts for. Default is the current network ID.

Default: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

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

VersionDescription
5.3.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.