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

wp_get_sites( array $args = array() )

Return an array of sites for a network or networks.


Description Description

See also See also


Top ↑

Parameters Parameters

$args

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


Top ↑

Return 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.


Top ↑

More Information 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.


Top ↑

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


Top ↑

Changelog Changelog

Changelog
Version Description
4.6.0 Use get_sites()
3.7.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex

    Basic Example

    if you specify null to the ‘network_id’ then all site infomation in the network are returned.

    <?php 
    $args = array(
        'network_id' => null,
        'public'     => null,
        'archived'   => null,
        'mature'     => null,
        'spam'       => null,
        'deleted'    => null,
        'limit'      => 100,
        'offset'     => 0,
    ); 
    $array = wp_get_sites( $args );
    print_r ($array);
    ?>
    

    Example of the array returned:

    Array(
        [0] => Array(
            [blog_id] => 1
            [site_id] => 1
            [domain] => example.com
            [path] => /
            [registered] => 2013-11-08 17:56:46
            [last_updated] => 2013-11-08 18:57:19
            [public] => 1
            [archived] => 0
            [mature] => 0
            [spam] => 0
            [deleted] => 0
            [lang_id] => 0
        )
    
        [1] => Array(
            [blog_id] => 2
            [site_id] => 1
            [domain] => example.com
            [path] => /examplesubsite/
            [registered] => 2013-11-08 18:07:22
            [last_updated] => 2013-11-08 18:13:40
            [public] => 1
            [archived] => 0
            [mature] => 0
            [spam] => 0
            [deleted] => 0
            [lang_id] => 0
        )
    )
    

    If you specified ‘1’ to the ‘network_id’ then the array that include only the first element must be returned.

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