get_sites()
Отримує сайти мережі у вигляді масиву з даними сайтів. У параметрах можна вказати, які саме сайти ми хочемо отримати.
До версії 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
(рядок) -
Пошуковий запит, яким потрібно шукати сайти.
За замовчуванням: ” -
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
.
За замовчуванням: ”
Приклади
#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>'; }
нотатки
- Дивіться: WP_Site_Query::parse_query()
список змін
З версії 4.6.0 | Введено. |
З версії 4.8.0 | Introduced the ‘lang_id’ , ‘lang__in’ , ‘lang__not_in’ параметрів. |
Код get_sites() get sites WP 6.0.2
function get_sites( $args = array() ) { $query = New WP_Site_Query(); return $query->query( $args ); }