WP_Query::the_post()publicWP 1.5.0

Sets up the current post.

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

Метод класса: WP_Query{}

Хуки из метода

Возвращает

null. Ничего (null).

Использование

global $wp_query;
$wp_query->the_post();

Заметки

  • Global. WP_Post. $post Global post object.

Список изменений

С версии 1.5.0 Введена.

Код WP_Query::the_post() WP 6.7.1

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 );
}