get_sites()
Получает сайты сети в виде массива массив с данными сайтов. В параметрах можно указать какие именно сайты мы хотим получить.
До версии 4.6. вместо этой функции использовалась wp_get_sites()
Если в сети более 10 000 сайтов, функция вернет пустой массив. Проверкой этого занимается функция wp_is_large_network(), результат которой можно изменить через фильтр: wp_is_large_network
.
Хуков нет.
Возвращает
Массив|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(массив) (c 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(строка) (c 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>'; }
#2 Что возвращает функция
$sites = get_sites();
$sites = Array ( [0] => WP_Site Object ( [blog_id] => 1 [domain] => site.com [path] => / [site_id] => 1 [registered] => 2023-08-17 02:35:23 [last_updated] => 0000-00-00 00:00:00 [public] => 1 [archived] => 0 [mature] => 0 [spam] => 0 [deleted] => 0 [lang_id] => 0 ) [1] => WP_Site Object ( [blog_id] => 2 [domain] => site.com [path] => /ru/ [site_id] => 1 [registered] => 2023-08-17 02:10:59 [last_updated] => 2023-08-17 02:13:29 [public] => 1 [archived] => 0 [mature] => 0 [spam] => 0 [deleted] => 0 [lang_id] => 0 ) )
Заметки
- Смотрите: WP_Site_Query::parse_query()
Список изменений
С версии 4.6.0 | Введена. |
С версии 4.8.0 | Introduced the 'lang_id', 'lang__in', and 'lang__not_in' parameters. |
Код get_sites() get sites WP 6.6.2
function get_sites( $args = array() ) { $query = new WP_Site_Query(); return $query->query( $args ); }