get_post( int|WP_Post|null $post = nullstring $output = OBJECTstring $filter = 'raw' )

Retrieves post data given a post ID or post object.


Description Description

See sanitize_post() for optional $filter values. Also, the parameter $post, must be given as a variable, since it is passed by reference.


Parameters Parameters

$post

(int|WP_Post|null) (Optional) Post ID or post object. Defaults to global $post.

Default value: null

$output

(string) (Optional) The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which correspond to a WP_Post object, an associative array, or a numeric array, respectively.

Default value: OBJECT

$filter

(string) (Optional) Type of filter to apply. Accepts 'raw', 'edit', 'db', or 'display'.

Default value: 'raw'


Top ↑

Return Return

(WP_Post|array|null) Type corresponding to $output on success or null on failure. When $output is OBJECT, a WP_Postinstance is returned.


Top ↑

Source Source

File: wp-includes/post.php

530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
    if ( empty( $post ) && isset( $GLOBALS['post'] ) )
        $post = $GLOBALS['post'];
 
    if ( $post instanceof WP_Post ) {
        $_post = $post;
    } elseif ( is_object( $post ) ) {
        if ( empty( $post->filter ) ) {
            $_post = sanitize_post( $post, 'raw' );
            $_post = new WP_Post( $_post );
        } elseif ( 'raw' == $post->filter ) {
            $_post = new WP_Post( $post );
        } else {
            $_post = WP_Post::get_instance( $post->ID );
        }
    } else {
        $_post = WP_Post::get_instance( $post );
    }
 
    if ( ! $_post )
        return null;
 
    $_post = $_post->filter( $filter );
 
    if ( $output == ARRAY_A )
        return $_post->to_array();
    elseif ( $output == ARRAY_N )
        return array_values( $_post->to_array() );
 
    return $_post;
}

Top ↑

Changelog Changelog

Changelog
VersionDescription
1.5.1Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note content
    Contributed by Fiaz Husyn — 

    For reference, WP_Post OBJECT contains following fields:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    WP_Post Object
    (
        [ID] =>
        [post_author] =>
        [post_date] =>
        [post_date_gmt] =>
        [post_content] =>
        [post_title] =>
        [post_excerpt] =>
        [post_status] =>
        [comment_status] =>
        [ping_status] =>
        [post_password] =>
        [post_name] =>
        [to_ping] =>
        [pinged] =>
        [post_modified] =>
        [post_modified_gmt] =>
        [post_content_filtered] =>
        [post_parent] =>
        [guid] =>
        [menu_order] =>
        [post_type] =>
        [post_mime_type] =>
        [comment_count] =>
        [filter] =>
    )
  2. Skip to note content
    Contributed by Fiaz Husyn — 

    For Reference : WP_Post Object has following properties, which are returned by get_post().

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Member Variable Variable Type   Notes
    ID          int     The ID of the post
    post_author     string  The post author's user ID (numeric string)
    post_name   string  The post's slug
    post_type   string  See Post Types
    post_title  string  The title of the post
    post_date   string  Format: 0000-00-00 00:00:00
    post_date_gmt   string  Format: 0000-00-00 00:00:00
    post_content    string  The full content of the post
    post_excerpt    string  User-defined post excerpt
    post_status     string  See get_post_status for values
    comment_status  string  Returns: { open, closed }
    ping_status     string  Returns: { open, closed }
    post_password   string  Returns empty string if no password
    post_parent     int     Parent Post ID (default 0)
    post_modified   string  Format: 0000-00-00 00:00:00
    post_modified_gmt   string  Format: 0000-00-00 00:00:00
    comment_count   string  Number of comments on post (numeric string)
    menu_order  string  Order value as set through page-attribute when enabled (numeric string. Defaults to 0)

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