WP_Post::get_instance() WordPress Method
The WP_Post::get_instance() method is used to get a post object from a post ID. This is useful when you need to access a post outside of the loop.
WP_Post::get_instance( int $post_id ) #
Retrieve WP_Post instance.
Parameters
- $post_id
(int)(Required)Post ID.
Return
(WP_Post|false) Post object, false otherwise.
Source
File: wp-includes/class-wp-post.php
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 );
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 3.5.0 | Introduced. |