WP_Query::setup_postdata( WP_Post|object|int $post ): true

Sets up global post data.


Parameters

$post WP_Post|object|int Required
WP_Post instance or Post ID/object.

Top ↑

Return

true True when finished.


Top ↑

Source

File: wp-includes/class-wp-query.php. View all references

public function setup_postdata( $post ) {
	global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;

	if ( ! ( $post instanceof WP_Post ) ) {
		$post = get_post( $post );
	}

	if ( ! $post ) {
		return;
	}

	$elements = $this->generate_postdata( $post );
	if ( false === $elements ) {
		return;
	}

	$id           = $elements['id'];
	$authordata   = $elements['authordata'];
	$currentday   = $elements['currentday'];
	$currentmonth = $elements['currentmonth'];
	$page         = $elements['page'];
	$pages        = $elements['pages'];
	$multipage    = $elements['multipage'];
	$more         = $elements['more'];
	$numpages     = $elements['numpages'];

	/**
	 * Fires once the post data has been set up.
	 *
	 * @since 2.8.0
	 * @since 4.1.0 Introduced `$query` parameter.
	 *
	 * @param WP_Post  $post  The Post object (passed by reference).
	 * @param WP_Query $query The current Query object (passed by reference).
	 */
	do_action_ref_array( 'the_post', array( &$post, &$this ) );

	return true;
}

Top ↑

Hooks



Top ↑

Changelog

Changelog
Version Description
4.4.0 Added the ability to pass a post ID to $post.
4.1.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.