do_action_ref_array( 'pre_get_posts', WP_Query $query )
- Since
- 2.0.0
Fires after the query variable object is created, but before the actual query is run.
Description
Note: If using conditional tags, use the method versions within the passed instance (e.g. $this->is_main_query() instead of is_main_query()). This is because the functions like is_main_query() test against the global $wp_query instance, not the passed one.
Compatibility
- WordPress
- since 2.0.0
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0).
Parameters
$queryWP_Query- The WP_Query instance (passed by reference).
Where this hook fires · 1
wp-includes/class-wp-query.php:1910WP_Query::get_posts()
Source code
* like is_main_query() test against the global $wp_query instance, not the passed one. * * @since 2.0.0 * * @param WP_Query $query The WP_Query instance (passed by reference). */ do_action_ref_array( 'pre_get_posts', array( &$this ) ); // Locally scoped reference for easy of use. $query_vars = &$this->query_vars; // Fill again in case 'pre_get_posts' unset some vars. $query_vars = $this->fill_query_vars( $query_vars );Changelog
Introduced in 2.0.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 6.9.7 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
- Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.