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.


See also



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

  • 'network_id'
    (int|array) 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()


(array) An empty array if the installation is considered "large" via wp_is_large_network(). Otherwise, an associative array of site data arrays, each containing the site (network) ID, blog ID, site domain and path, dates registered and modified, and the language ID. Also, boolean values for whether the site is public, archived, mature, spam, and/or deleted.


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

	// Backwards 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;


Version Description
4.6.0 Use get_sites()
3.7.0 Introduced.

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.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.