get_sites() WP 4.6.0

Отримує сайти мережі у вигляді масиву з даними сайтів. У параметрах можна вказати, які саме сайти ми хочемо отримати.

До версії 4.6. замість цієї функції використовувалась wp_get_sites()

Якщо у мережі понад 10 000 сайтів, функція поверне порожній масив. Перевіркою цього займається функція wp_is_large_network() , результат якої можна змінити через фільтр: wp_is_large_network.

Працює на основі:
WP_Site_Query::query()
Основа для:
get_id_from_blogname()

Хуків немає.

Повертає

Массив|int.

  • Масив об’єктів WP_Site .
  • Масив id сайтів, якщо fields = ‘ids’
  • Кількість сайтів, коли ‘count’ передано як змінна запиту.

Приклад того, що може повернути функцію:

Array(
	[0] => WP_Site Object(
		[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] => WP_Site Object(
		[blog_id] => 2
		...
	)
)

Шаблон використання

$ sites = get_sites (array (
	'fields' => '',
	'ID' => '',
	'site__in' => '',
	'site__not_in' => '',
	'number' => 100,
	'offset' => '',
	'no_found_rows' => true,
	'orderby' => 'id',
	'order' => 'ASC',
	'network_id' => 0,
	'network__in' => array(),
	'network__not_in' => array(),
	'domain' => '',
	'domain__in' => array(),
	'domain__not_in' => array(),
	'path' => '',
	'path__in' => array(),
	'path__not_in' => array(),
	'lang_id' => 0,
	'lang__in' => array(),
	'lang__not_in' => array(),
	'public' => null,
	'archived' => null,
	'mature' => null,
	'spam' => null,
	'deleted' => null,
	'search' => '',
	'search_columns' => array(),
	'count' => false,
	'date_query' => null, // See WP_Date_Query
	'update_site_cache' => true,
)));

foreach( $sites as $site ){
	// робимо щось
}

Використання

get_sites($args);
$args
(рядок/масив)
Параметри для отримання сайтів у вигляді масиву чи рядка. Повний перелік параметрів дивіться у коді методу
WP_Site_Query::__construct() .


За замовчуванням: array() (дефолтний масив даних)

Аргументи $args


site__in
(масив)
Масив ID сайтів, які потрібно отримати.


За замовчуванням: ”

site__not_in
(масив)
Масив ID сайтів, які потрібно виключити.


За замовчуванням: ”

count
(логічний)
Ставимо true, коли потрібно отримати кількість знайдених сайтів, а не об’єкти даних цих сайтів.


Типово: false

date_query
(масив)
Фільтрування запиту за датою. Див.
WP_Date_Query .


Типово: null

fields
(рядок)
Поля, які потрібно повернути в підсумкових даних. Можливо:
‘ids’ – поверне лише ID сайтів,
– поверне всі дані сайту.


За замовчуванням: ”

ID
(число)
ID сайту, коли потрібно отримати лише цей сайт.


За замовчуванням: ”

number
(число)
Обмеження – максимальна кількість сайтів, які потрібно отримати.


Типово: 100

offset
(число)

Верхній відступ при отриманні сайтів. Використовується для створення LIMIT частини запиту.

Наприклад, якщо вказати тут 10, і всього знайдено 20 сайтів, то повернуть останні 10, а верхні 10 пропустять…
За замовчуванням: 0


no_found_rows
(логічний)
Вимкнути підрахунок знайдених рядків. Відключить SQL оператор
SQL_CALC_FOUND_ROWS .


Типово: true

orderby
(рядок | масив)

Колонка за якою сортувати отримані сайти. Може бути:

site__in
network__in
domain
last_updated
path
registered
network_id
domain_length
path_length
id

Можна також вказати: false, array()або none, щоб вимкнути частину запиту ORDER BY.

За замовчуванням: ‘id’


order
(рядок)
Напрямок сортування: Можливо:
ASC(123, абв) або
DESC(321, бва).


За замовчуванням: ‘ASC’

network_id
(число)
ID мережі, сайти яких потрібно отримати.


За замовчуванням: (ID поточної мережі)

network__in
(масив)
Масив ID мереж, сайти яких потрібно отримати.


За замовчуванням: ”

network__not_in
(масив)
Масив ID мереж, сайти яких потрібно виключити.


За замовчуванням: ”

domain
(рядок)
Домен сайту, який необхідно отримати.


За замовчуванням: ”

domain__in
(масив)
Масив доменів сайтів, які потрібно отримати.


За замовчуванням: ”

domain__not_in
(масив)
Масив доменів сайтів, які потрібно виключити.


За замовчуванням: ”

path
(рядок)
Шлях, який має містити веб-сайт.


За замовчуванням: ”

path__in
(масив)
Масив шляхів, які можуть містити веб-сайти.


За замовчуванням: ”

path__not_in
(масив)
Масив шляхів, яких не може бути сайтів.


За замовчуванням: ”

public
(число)
Обмежити вибірку лише публічними сайтами. Зі статусом ‘public’. Можливо: 1 – лише публічні сайти або 0 – не публічні сайти.


Типово: null

archived
(число)
Обмежити вибірку лише сайтами в архіві. Можливо: 1 або 0.


За замовчуванням: null

mature
(число)
Обмежити вибірку лише зрілими (mature) сайтами. Можливо: 1 або 0.


За замовчуванням: null

spam
(число)
Обмежити вибірку лише сайтами зі статусом СПАМ. Можливо: 1 або 0.


За замовчуванням: null

deleted
(число)
Обмежити вибірку лише віддалених сайтів. Можливо: 1 або 0.


За замовчуванням: null
Пошуковий запит, яким потрібно шукати сайти.


За замовчуванням: ”

search_columns
(масив)
Масив назв колонок за якими потрібно шукати, якщо встановлено параметр
search. Можливо: ‘domain’ або ‘path’.


За замовчуванням: array()

lang_id
(число) (з WP 4.8)
Обмежує результат з ID мови.

lang__in
(масив) (з WP 4.8)
Масив ID мов сайти, з якими потрібно отримати.

lang__not_in
(масив) (з WP 4.8)
Масив з ID мов сайти, з якими потрібно виключити з результату.

update_site_cache
(логічний)
Чи потрібно скинути кеш для знайдених сайтів, якщо кеш вже встановлено.


Типово: false

update_site_meta_cache
(true/false) (c WP 5.1)
Чи потрібно оновити кеш метаданих для знайдених сайтів.


Типово: true

meta_query
(масив) (з WP 5.1)
Додає SQL запит умова вибору по метаполям (метаданним) сайтів. Див.
WP_Meta_Query .


За замовчуванням: ”

meta_key
(рядок) (c WP 5.1)
Отримати сайти із зазначеним тут мета ключем. Може використовуватись у поєднанні з
$meta_value .


За замовчуванням: ”

meta_value
(рядок) (c WP 5.1)
Отримати сайти із зазначеним тут значенням метаполя. Зазвичай використовується у поєднанні з
$meta_key .


За замовчуванням: ”

meta_type
(рядок) (c WP 5.1)
Тип даних, до якого буде приведений стовпець
$meta_value для порівняння. Можливі варіанти: див
.type WP_Meta_Query
.
За замовчуванням: ”


meta_compare
(рядок) (з WP 5.1)
Оператор порівняння для вказаного
значення $meta_value . Можливі варіанти: див
.compare WP_Meta_Query
.
За замовчуванням: ”

Приклади

0

#1 Виведемо назву (домени) всіх сайтів поточної мережі

$sites = get_sites();

foreach( $sites as $site ){

	echo untrailingslashit( $home_scheme . '://' . $site->domain . $site->path );
	echo '-'. get_blog_details( $site->blog_id )->blogname;
	echo '<br>';

}

нотатки

список змін

З версії 4.6.0Введено.
З версії 4.8.0Introduced the ‘lang_id’ , ‘lang__in’ , ‘lang__not_in’ параметрів.

Код get_sites() WP 6.0.2

function get_sites( $args = array() ) {
	$query = New WP_Site_Query();

	return $query->query( $args );
}

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

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