wppaste
WordPress

WP_Query::the_post()

Since
1.5.0
Source
wp-includes/class-wp-query.php:3685
Sets up the current post.

Description

Retrieves the next post, sets up the post, sets the 'in the loop' property to true.

Hooks fired · 1

One hook fires while WP_Query::the_post() runs, in this order:

  1. do_action( loop_start )actionline 3711 (+26 into the body)

    Fires once the loop is started.

Uses · 5

Source

	public function the_post() {		global $post; 		if ( ! $this->in_the_loop ) {			// Only prime the post cache for queries limited to the ID field.			$post_ids = array_filter( $this->posts, 'is_numeric' );			// Exclude any falsey values, such as 0.			$post_ids = array_filter( $post_ids );			if ( $post_ids ) {				_prime_post_caches( $post_ids, $this->query_vars['update_post_term_cache'], $this->query_vars['update_post_meta_cache'] );			}			$post_objects = array_map( 'get_post', $this->posts );			update_post_author_caches( $post_objects );		} 		$this->in_the_loop = true;		$this->before_loop = false; 		if ( -1 == $this->current_post ) { // Loop has just started.			/**			 * Fires once the loop is started.			 *			 * @since 2.0.0			 *			 * @param WP_Query $query The WP_Query instance (passed by reference).			 */			do_action_ref_array( 'loop_start', array( &$this ) );		} 		$post = $this->next_post();		$this->setup_postdata( $post );	}

History

Introduced in 1.5.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, from src/wp-includes/class-wp-query.php, 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.