wp_get_sites( array $args = array() )

This function has been deprecated. Use get_sites() instead.

Return an array of sites for a network or networks.

Description

See also

Parameters

$args

(array) (Optional) Array of default arguments. Optional.

  • 'network_id'
    (int|int[]) A network ID or array of network IDs. Set to null to retrieve sites from all networks. Defaults to current network ID.
  • 'public'
    (int) Retrieve public or non-public sites. Default null, for any.
  • 'archived'
    (int) Retrieve archived or non-archived sites. Default null, for any.
  • 'mature'
    (int) Retrieve mature or non-mature sites. Default null, for any.
  • 'spam'
    (int) Retrieve spam or non-spam sites. Default null, for any.
  • 'deleted'
    (int) Retrieve deleted or non-deleted sites. Default null, for any.
  • 'limit'
    (int) Number of sites to limit the query to. Default 100.
  • 'offset'
    (int) Exclude the first x sites. Used in combination with the $limit parameter. Default 0.

Default value: array()

Return

(array[]) An empty array if the installation is considered "large" via wp_is_large_network(). Otherwise, an associative array of WP_Site data as arrays.

More Information

If wp_is_large_network() returns TRUE, wp_get_sites() will return an empty array. By default wp_is_large_network() returns TRUE if there are 10,000 or more sites in your network. This can be filtered using the wp_is_large_network filter.

Each site’s array is composed entirely of string values, even for numeric values. This means that == or !=, not === or !==, should be used to compare [blog_id] to get_current_blog_id(), which returns an integer value.

Source

File: wp-includes/ms-deprecated.php

function wp_get_sites( $args = array() ) {
	_deprecated_function( __FUNCTION__, '4.6.0', 'get_sites()' );

	if ( wp_is_large_network() )
		return array();

	$defaults = array(
		'network_id' => get_current_network_id(),
		'public'     => null,
		'archived'   => null,
		'mature'     => null,
		'spam'       => null,
		'deleted'    => null,
		'limit'      => 100,
		'offset'     => 0,
	);

	$args = wp_parse_args( $args, $defaults );

	// Backward compatibility.
	if( is_array( $args['network_id'] ) ){
		$args['network__in'] = $args['network_id'];
		$args['network_id'] = null;
	}

	if( is_numeric( $args['limit'] ) ){
		$args['number'] = $args['limit'];
		$args['limit'] = null;
	} elseif ( ! $args['limit'] ) {
		$args['number'] = 0;
		$args['limit'] = null;
	}

	// Make sure count is disabled.
	$args['count'] = false;

	$_sites  = get_sites( $args );

	$results = array();

	foreach ( $_sites as $_site ) {
		$_site = get_site( $_site );
		$results[] = $_site->to_array();
	}

	return $results;
}

Changelog

Version Description
4.6.0 Use get_sites()
3.7.0 Introduced.

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