A WordPress-centric search engine for devs and theme authors



wp_count_sites ›

Since5.3.0
Deprecatedn/a
wp_count_sites ( $network_id = null )
Parameters:
  • (int) $network_id Optional. The network to get counts for. Default is the current network ID.
    Required: No
    Default: null
Returns:
  • (int[]) { Numbers of sites grouped by site status. @type int $all The total number of sites. @type int $public The number of public sites. @type int $archived The number of archived sites. @type int $mature The number of mature sites. @type int $spam The number of spam sites. @type int $deleted The number of deleted sites. }
Defined at:
Codex:

Count number of sites grouped by site status.



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