Where intelligence is put to the test.

WordPress $post Object Quick Reference

John Crenshaw in wordpress

May 15

This quick reference / cheatsheet is for the WordPress $post object. This object contains a bunch of info specific to each WordPress post. Scroll down for the complete table of object properties.

Download Printable versions (PDF)

Download PDF version (landscape orientation)

Download PDF version (portrait orientation)

How to use the $post object

The values in the chart below can be accessed for a given post within the loop using the following syntax:

1
$post->$key;

…where key is the property you want to access below. For example, you’ll notice at the top of this post is a post summary within a formatted div element. The summary is just a formatted version of the post excerpt, but if there’s no post excerpt I don’t want that div element showing up empty, so in that case, I hide it using the following code:

1
2
3
4
5
6
7
8
<?php
if($post->post_excerpt != '') :
    echo '<div id="summary">';
    echo '<strong>Summary:</strong><br />';
    the_excerpt();
    echo '</div>';
endif;
?>

$post Object properties

Property Sample Value Notes
ID 432 Post ID
post_author 1 Post author’s user number
post_date 2008-03-15 19:22:29
post_date_gmt 2008-03-16 02:22:29 GMT = Greenwich Mean Time
post_content Actual post content, including markup
post_title Post title
post_category 0 Number representing post category ID#
post_excerpt Plain text without markup
post_status publish, pending, draft, private, inherit Current status of the post
comment_status open Possible values: open / closed
ping_status open open / closed
post_password Will be empty if no password
post_name statistics Same as post slug
to_ping http://www.1to-ping.com, http://www.2to-ping.com, http://www.3to-ping.com List of urls to ping when post is published (for unpublished posts)
pinged http://www.pinged1.com, http://www.pinged2.com, http://www.pinged3.com List of urls that have been pinged (for published posts)
post_modified 2008-07-01 19:41:28 Date the post was last modified
post_modified_gmt 2008-07-02 02:41:28 GMT date post was last modified
post_content_filtered Exists to store a cached version of post content (most likely with all the the_content filters already applied). If you’ve got a plugin that runs a very resource heavy filter on content, you might consider caching the results with post_content_filtered, and calling that from the front end instead.
post_parent ID# of this post’s parent. In the case of attachments, will be the post it’s attached to. Defaults to 0 if no parent.
guid http://www.blogurl/postslug Global Unique Identifier. The “real” URL to the post, not the permalink version. For pages, this is the actual URL. In the case of files (attachments), this holds the URL to the file.
menu_order 0
1
2
etc…
Holds values for display order of pages. Only works with pages, not posts.
post_type page
post
attachment
revision
Self-explanatory for pages and posts. Any files uploaded are attachments and post revisions saved as revision
post_mime_type text/html
image/png
image/jpg
Only used for files (attachments). Contains the MIME type of the uploaded file.
comment_count 4 Number of comments, pings, and trackbacks combined

Thanks to everyone who commented on this post to help fill in some of the missing values!

Written by John Crenshaw

More from John Crenshaw
Choosing the Right Enterprise SEO Agency: 2026 Vetting Guide

Scaling organic search for a large organization is fundamentally different from small business SEO. You're not just optimizing a few dozen pages; you're managing tens of thousands, or even millions,…

How to Do a Website Audit That Actually Boosts Revenue

So, you need to do a website audit. At its core, this means systematically breaking down your site’s technical health, on-page content, and user experience to find out what’s holding…

7 Powerful YouTube Dashboard Examples to Master Your Channel in 2026

YouTube's native analytics are powerful, but they don't always tell the whole story or connect performance to your broader marketing goals. A well-designed dashboard transforms raw data into a strategic…

Data driven marketing strategies: A Practical Growth Guide

Data-driven marketing strategies live and die by the quality of your customer data. It's the bedrock. Without a solid foundation, you're just guessing. Confused about where to start? Get a…

How to Calculate Marketing ROI and Prove Your Real Impact

Let's cut right to the chase. The simplest way to figure out your marketing return on investment is with this formula: (Revenue - Marketing Investment) / Marketing Investment. This little…

The Ultimate 10-Point PPC Audit Checklist for 2025

Pouring money into PPC campaigns without regular, in-depth audits is like navigating a maze blindfolded. You're moving, but are you getting closer to your goal? Many businesses leak significant portions…

Ready to talk? We’re listening.

If you have questions we have answers. And probably some questions for you, too.

Let’s get after it!

Let's Get Started