WP_Post::get_instance()public staticWP 3.5.0

Retrieve WP_Post instance.

Method of the class: WP_Post{}

No Hooks.

Return

WP_Post|false. Post object, false otherwise.

Usage

$result = WP_Post::get_instance( $post_id );
$post_id(int) (required)
Post ID.

Notes

  • Global. wpdb. $wpdb WordPress database abstraction object.

Changelog

Since 3.5.0 Introduced.

WP_Post::get_instance() code WP 6.4.3

public static function get_instance( $post_id ) {
	global $wpdb;

	$post_id = (int) $post_id;
	if ( ! $post_id ) {
		return false;
	}

	$_post = wp_cache_get( $post_id, 'posts' );

	if ( ! $_post ) {
		$_post = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = %d LIMIT 1", $post_id ) );

		if ( ! $_post ) {
			return false;
		}

		$_post = sanitize_post( $_post, 'raw' );
		wp_cache_add( $_post->ID, $_post, 'posts' );
	} elseif ( empty( $_post->filter ) || 'raw' !== $_post->filter ) {
		$_post = sanitize_post( $_post, 'raw' );
	}

	return new WP_Post( $_post );
}