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] => 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
		...
	)
)

Кожне значення в масиві кожного сайту є рядком, навіть коли там є число. Тому під час перевірки чисел, наприклад, 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()

Приклади

0

#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] => 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
	)
)
*/

нотатки

список змін

З версії 3.7.0Введено.
Застаріла з 4.6.0Use get_sites()

Код wp_get_sites() WP 6.0.2

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *