WordPress как на ладони
wordpress jino

wp_get_sites() WP 3.7.0

Запрещена с версии 4.6.0. Больше не поддерживается и может быть удалена в следующих версиях. Используйте get_sites().

Получает массив с данными всех сайтов сети или сетей.

Хуков нет.

Возвращает

Массив.

  • array() - пустой массив, когда в сети находится больше 10 000 сайтов. Такая установка считается "большой". Проверкой этого занимается функция wp_is_large_network(), результат которой можно изменить через фильтр: wp_is_large_network.

  • Ассоциативный массив - массив, элементами которого будут массивы с данными каждого сайта сети.

Пример того что вернет функция:

Array(
	[0] => Array(
		[blog_id] => 1
		[site_id] => 1
		[domain] => site.ru
		[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
		...
	)
)

Каждое значение в массиве каждого сайта, является строкой, даже когда там находится число. Поэтому при проверках чисел, например blog_id используйте операторы сравнения == или !=, а не === или !==.

Использование

$sites = wp_get_sites( $args );
$args(массив)

Массив параметров, по которым будут получены сайты сети. Понимает следующие ключи массива:

  • network_id (int|array)
    ID сети, сайты которой нужно получить. Можно указать несколько ID в массиве.
    По умолчанию: null (текущая сеть)

  • public (int)
    Какие сайты получить: публичные или нет.
    По умолчанию: null (любые)

  • archived (int)
    Какие сайты получить: которые в архиве или нет.
    По умолчанию: null (любые)

  • mature (int)
    Какие сайты получить: запущенные или нет.
    По умолчанию: null (любые)

  • spam (int)
    Какие сайты получить: которые в спаме или нет.
    По умолчанию: null (любые)

  • deleted (int)
    Какие сайты получить: которые удалены (в корзине) или «живые».
    По умолчанию: null (любые)

  • limit (int)
    Ограничение на количество получаемых сайтов.
    По умолчанию: 100

  • offset (int)
    Верхний отступ (срез) от количества сайтов. Используется в комбинации с параметром limit.
    По умолчанию: 0

По умолчанию: array()

Примеры

#1 Получим все сайты сети в виде массива

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

print_r( $array );

/* Выведет 
Array(
	[0] => Array(
		[blog_id] => 1
		[site_id] => 1
		[domain] => site.ru
		[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] => site.ru
		[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
	)
)
*/

Код wp get sites: wp-includes/ms-deprecated.php WP 4.9

<?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;
}
wp_get_sites Комментариев нет

Здравствуйте, !

Ваш комментарий