sites_pre_query
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
apply_filters_ref_array( 'sites_pre_query', WP_Site[]|int[]|int|null $site_data, WP_Site_Query $query )
Описание
Верните значение, отличное от null, чтобы обойти стандартные запросы сайтов WordPress.
Ожидаемый тип возвращаемого значения этого фильтра зависит от значения, переданного в переменных запроса:
Если задано $this->query_vars['count'], фильтр должен вернуть количество сайтов в виде целого числа.
Если 'ids' === $this->query_vars['fields'], фильтр должен вернуть массив идентификаторов сайтов.
В противном случае фильтр должен вернуть массив объектов WP_Site.
Обратите внимание, что если фильтр возвращает массив данных сайтов, он будет присвоен свойству sites текущего экземпляра WP_Site_Query.
Функциям фильтрации, которым требуется информация о разбиении на страницы, рекомендуется задавать свойства found_sites и max_num_pages объекта WP_Site_Query, передаваемого в фильтр по ссылке. Если WP_Site_Query не выполняет запрос к базе данных, у него не будет достаточно информации для самостоятельного вычисления этих значений.
Оригинал (английский)
Return a non-null value to bypass WordPress’ default site queries.
The expected return type from this filter depends on the value passed in the request query vars:
- When
$this->query_vars['count']is set, the filter should return the site count as an integer. - When
'ids' === $this->query_vars['fields'], the filter should return an array of site IDs. - Otherwise the filter should return an array of WP_Site objects.
Note that if the filter returns an array of site data, it will be assigned to the sites property of the current WP_Site_Query instance.
Filtering functions that require pagination information are encouraged to set the found_sites and max_num_pages properties of the WP_Site_Query object, passed to the filter by reference. If WP_Site_Query does not perform a database query, it will not have enough information to generate these values itself.
Фильтруемое значение
Параметры
$site_data
WP_Site[]|int[]|int|null
обязательный
$query
WP_Site_Query
обязательный
Исходный код
wp-includes/class-wp-site-query.php:341
$site_data = apply_filters_ref_array( 'sites_pre_query', array( $site_data, &$this ) );
История изменений
| Версия | Описание |
|---|---|
| 5.6.0 | The returned array of site data is assigned to the sites property of the current WP_Site_Query instance. |
| 5.2.0 | Introduced. |

