Title: wp-includes/class-wp-query.php | Page 3 of 4 | Developer.WordPress.org

---

# File: wp-includes/class-wp-query.php

 * method[WP_Query::have_posts()](https://developer.wordpress.org/reference/classes/wp_query/have_posts/)
 * Determines whether there are more posts available in the loop.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_query/have_posts/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/classes/wp_query/have_posts/#uses)
   | Source: [wp-includes/class-wp-query.php:3828](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3828-L3858)
 * hook[loop_end](https://developer.wordpress.org/reference/hooks/loop_end/)
 * Fires once the loop has ended.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/loop_end/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/loop_end/#uses)
   | Source: [wp-includes/class-wp-query.php:3839](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3839-L3839)
 * method[WP_Query::rewind_posts()](https://developer.wordpress.org/reference/classes/wp_query/rewind_posts/)
 * Rewinds the posts and resets post index.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wp_query/rewind_posts/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_query/rewind_posts/#uses)
   | Source: [wp-includes/class-wp-query.php:3865](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3865-L3870)
 * method[WP_Query::next_comment()](https://developer.wordpress.org/reference/classes/wp_query/next_comment/)
 * Iterates current comment index and returns WP_Comment object.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_query/next_comment/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wp_query/next_comment/#uses)
   | Source: [wp-includes/class-wp-query.php:3879](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3879-L3885)
 * method[WP_Query::the_comment()](https://developer.wordpress.org/reference/classes/wp_query/the_comment/)
 * Sets up the current comment.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_query/the_comment/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wp_query/the_comment/#uses)
   | Source: [wp-includes/class-wp-query.php:3894](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3894-L3907)
 * hook[comment_loop_start](https://developer.wordpress.org/reference/hooks/comment_loop_start/)
 * Fires once the comment loop is started.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/comment_loop_start/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/comment_loop_start/#uses)
   | Source: [wp-includes/class-wp-query.php:3905](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3905-L3905)
 * method[WP_Query::have_comments()](https://developer.wordpress.org/reference/classes/wp_query/have_comments/)
 * Determines whether there are more comments available.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wp_query/have_comments/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wp_query/have_comments/#uses)
   | Source: [wp-includes/class-wp-query.php:3918](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3918-L3926)
 * hook[posts_results](https://developer.wordpress.org/reference/hooks/posts_results/)
 * Filters the raw post results array, prior to status checks.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_results/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_results/#uses)
   | Source: [wp-includes/class-wp-query.php:3468](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3468-L3468)
 * hook[the_preview](https://developer.wordpress.org/reference/hooks/the_preview/)
 * Filters the single post for preview mode.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/the_preview/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/the_preview/#uses)
   | Source: [wp-includes/class-wp-query.php:3562](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3562-L3562)
 * hook[posts_fields](https://developer.wordpress.org/reference/hooks/posts_fields/)
 * Filters the SELECT clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_fields/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_fields/#uses)
   | Source: [wp-includes/class-wp-query.php:2993](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2993-L2993)
 * hook[posts_clauses](https://developer.wordpress.org/reference/hooks/posts_clauses/)
 * Filters all query clauses at once, for convenience.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_clauses/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_clauses/#uses)
   | Source: [wp-includes/class-wp-query.php:3016](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3016-L3016)
 * hook[posts_selection](https://developer.wordpress.org/reference/hooks/posts_selection/)
 * Fires to announce the query’s current selection parameters.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_selection/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_selection/#uses)
   | Source: [wp-includes/class-wp-query.php:3036](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3036-L3036)
 * hook[posts_where_request](https://developer.wordpress.org/reference/hooks/posts_where_request/)
 * Filters the WHERE clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_where_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_where_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3053](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3053-L3053)
 * hook[posts_groupby_request](https://developer.wordpress.org/reference/hooks/posts_groupby_request/)
 * Filters the GROUP BY clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_groupby_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_groupby_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3065](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3065-L3065)
 * hook[posts_join_request](https://developer.wordpress.org/reference/hooks/posts_join_request/)
 * Filters the JOIN clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_join_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_join_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3077](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3077-L3077)
 * hook[posts_orderby_request](https://developer.wordpress.org/reference/hooks/posts_orderby_request/)
 * Filters the ORDER BY clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_orderby_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_orderby_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3089](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3089-L3089)
 * hook[posts_distinct_request](https://developer.wordpress.org/reference/hooks/posts_distinct_request/)
 * Filters the DISTINCT clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_distinct_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_distinct_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3101](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3101-L3101)
 * hook[posts_fields_request](https://developer.wordpress.org/reference/hooks/posts_fields_request/)
 * Filters the SELECT clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_fields_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_fields_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3113](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3113-L3113)
 * hook[post_limits_request](https://developer.wordpress.org/reference/hooks/post_limits_request/)
 * Filters the LIMIT clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/post_limits_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/post_limits_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3125](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3125-L3125)
 * hook[posts_clauses_request](https://developer.wordpress.org/reference/hooks/posts_clauses_request/)
 * Filters all query clauses at once, for convenience.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_clauses_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_clauses_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3150](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3150-L3150)
 * hook[posts_request](https://developer.wordpress.org/reference/hooks/posts_request/)
 * Filters the completed SQL query before sending.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_request/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_request/#uses)
   | Source: [wp-includes/class-wp-query.php:3203](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3203-L3203)
 * hook[posts_join_paged](https://developer.wordpress.org/reference/hooks/posts_join_paged/)
 * Filters the JOIN clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_join_paged/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_join_paged/#uses)
   | Source: [wp-includes/class-wp-query.php:2953](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2953-L2953)
 * hook[split_the_query](https://developer.wordpress.org/reference/hooks/split_the_query/)
 * Filters whether to split the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/split_the_query/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/split_the_query/#uses)
   | Source: [wp-includes/class-wp-query.php:3400](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3400-L3400)
 * hook[posts_orderby](https://developer.wordpress.org/reference/hooks/posts_orderby/)
 * Filters the ORDER BY clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_orderby/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_orderby/#uses)
   | Source: [wp-includes/class-wp-query.php:2963](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2963-L2963)
 * hook[posts_request_ids](https://developer.wordpress.org/reference/hooks/posts_request_ids/)
 * Filters the Post IDs SQL request before sending.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_request_ids/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_request_ids/#uses)
   | Source: [wp-includes/class-wp-query.php:3422](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L3422-L3422)
 * hook[posts_distinct](https://developer.wordpress.org/reference/hooks/posts_distinct/)
 * Filters the DISTINCT clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_distinct/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_distinct/#uses)
   | Source: [wp-includes/class-wp-query.php:2973](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2973-L2973)
 * hook[post_limits](https://developer.wordpress.org/reference/hooks/post_limits/)
 * Filters the LIMIT clause of the query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/post_limits/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/post_limits/#uses)
   | Source: [wp-includes/class-wp-query.php:2983](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2983-L2983)
 * hook[pre_get_posts](https://developer.wordpress.org/reference/hooks/pre_get_posts/)
 * Fires after the query variable object is created, but before the actual query
   is run.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/pre_get_posts/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/pre_get_posts/#uses)
   | Source: [wp-includes/class-wp-query.php:1906](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L1906-L1906)
 * hook[posts_search](https://developer.wordpress.org/reference/hooks/posts_search/)
 * Filters the search SQL that is used in the WHERE clause of WP_Query.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_search/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_search/#uses)
   | Source: [wp-includes/class-wp-query.php:2287](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2287-L2287)
 * hook[posts_search_orderby](https://developer.wordpress.org/reference/hooks/posts_search_orderby/)
 * Filters the ORDER BY used when ordering search results.
 * Used by [1 function](https://developer.wordpress.org/reference/hooks/posts_search_orderby/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/hooks/posts_search_orderby/#uses)
   | Source: [wp-includes/class-wp-query.php:2558](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/class-wp-query.php#L2558-L2558)

 [Previous Page](https://developer.wordpress.org/reference/files/wp-includes/class-wp-query.php/page/2/?output_format=md)

[1](https://developer.wordpress.org/reference/files/wp-includes/class-wp-query.php/?output_format=md)
[2](https://developer.wordpress.org/reference/files/wp-includes/class-wp-query.php/page/2/?output_format=md)
3 [4](https://developer.wordpress.org/reference/files/wp-includes/class-wp-query.php/page/4/?output_format=md)

 [Next Page](https://developer.wordpress.org/reference/files/wp-includes/class-wp-query.php/page/4/?output_format=md)