sites_pre_query WordPress Filter Hook
The sites_pre_query hook is a great way to modify a WordPress site's query before it is executed. This hook is called after the query is parsed, but before it is executed. This hook gives you the ability to modify the query variables, which can be used to alter the posts that are returned by the query.
apply_filters_ref_array( 'sites_pre_query', array|int|null $site_data , WP_Site_Query $query ) #
Filters the site data before the get_sites query takes place.
Description
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.
Parameters
- $site_data
(array|int|null)Return an array of site data to short-circuit WP's site query, the site count as an integer if
$this->query_vars['count']
is set, or null to run the normal queries.- $query
(WP_Site_Query)The WP_Site_Query instance, passed by reference.
Source
Changelog
Version | Description |
---|---|
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. |