networks_pre_query filter-hookWP 5.2.0

Filters the network data before the query takes place.

Return a non-null value to bypass WordPress' default network 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 network count as an integer.
  • When 'ids' === $this->query_vars['fields'], the filter should return an array of network IDs.
  • Otherwise the filter should return an array of WP_Network objects.

Note that if the filter returns an array of network data, it will be assigned to the networks property of the current WP_Network_Query instance.

Filtering functions that require pagination information are encouraged to set the found_networks and max_num_pages properties of the WP_Network_Query object, passed to the filter by reference. If WP_Network_Query does not perform a database query, it will not have enough information to generate these values itself.

Usage

add_filter( 'networks_pre_query', 'wp_kama_networks_pre_query_filter' );

/**
 * Function for `networks_pre_query` filter-hook.
 * 
 * @param array|int|null $network_data Return an array of network data to short-circuit WP's network query, the network count as an integer if `$this->query_vars['count']` is set, or null to allow WP to run its normal queries.
 *
 * @return array|int|null
 */
function wp_kama_networks_pre_query_filter( $network_data ){

	// filter...
	return $network_data;
}
$network_data(array|int|null)
Return an array of network data to short-circuit WP's network query, the network count as an integer if $this->query_vars['count'] is set, or null to allow WP to run its normal queries.

Changelog

Since 5.2.0 Introduced.
Since 5.6.0 The returned array of network data is assigned to the networks property of the current WP_Network_Query instance.

Where the hook is called

WP_Network_Query::get_networks()
networks_pre_query
wp-includes/class-wp-network-query.php 233
$network_data = apply_filters_ref_array( 'networks_pre_query', array( $network_data, &$this ) );

Where the hook is used in WordPress

Usage not found.