A WordPress-centric search engine for devs and theme authors



wp_get_sites ›

Since3.7.0
Deprecatedn/a
wp_get_sites ( $args = array() )
Parameters:
  • (array) $args { Array of default arguments. Optional.
    Required: No
    Default: array()
Returns:
  • (array) An empty array if the install 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.
Defined at:
Codex:

Return an array of sites for a network or networks.



Source

function wp_get_sites( $args = array() ) {
	global $wpdb;

	if ( wp_is_large_network() )
		return array();

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

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

	$query = "SELECT * FROM $wpdb->blogs WHERE 1=1 ";

	if ( isset( $args['network_id'] ) && ( is_array( $args['network_id'] ) || is_numeric( $args['network_id'] ) ) ) {
		$network_ids = implode( ',', wp_parse_id_list( $args['network_id'] ) );
		$query .= "AND site_id IN ($network_ids) ";
	}

	if ( isset( $args['public'] ) )
		$query .= $wpdb->prepare( "AND public = %d ", $args['public'] );

	if ( isset( $args['archived'] ) )
		$query .= $wpdb->prepare( "AND archived = %d ", $args['archived'] );

	if ( isset( $args['mature'] ) )
		$query .= $wpdb->prepare( "AND mature = %d ", $args['mature'] );

	if ( isset( $args['spam'] ) )
		$query .= $wpdb->prepare( "AND spam = %d ", $args['spam'] );

	if ( isset( $args['deleted'] ) )
		$query .= $wpdb->prepare( "AND deleted = %d ", $args['deleted'] );

	if ( isset( $args['limit'] ) && $args['limit'] ) {
		if ( isset( $args['offset'] ) && $args['offset'] )
			$query .= $wpdb->prepare( "LIMIT %d , %d ", $args['offset'], $args['limit'] );
		else
			$query .= $wpdb->prepare( "LIMIT %d ", $args['limit'] );
	}

	$site_results = $wpdb->get_results( $query, ARRAY_A );

	return $site_results;
}