Parsed: 117208

  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;

    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->WP_Query::next_post();
    $this->WP_Query::setup_postdata( $post );
  }