pre_get_posts
pre_get_posts is an action fired at the beginning of the get_posts() function.
Context:
File: wp-includes/classes.php
function &get_posts() {
global $wpdb, $pagenow, $request, $user_ID;
do_action('pre_get_posts', array(&$this));
// Shorthand.
$q = $this->query_vars;
This hook is an action which means that it primarily acts as an event trigger, instead of a content filter. This is a semantic difference, but it will help you to remember what this hook does if you use it like this: add_action('pre_get_posts', 'your_function');
This hook was introduced in WordPress 2.0, and will not work in earlier versions.