wppaste
WordPress

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:1881WP_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 ) ); 		// Shorthand.		$q = &$this->query_vars; 		// Fill again in case 'pre_get_posts' unset some vars.		$q = $this->fill_query_vars( $q );

Changelog

Introduced in 2.0.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.7.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.