get_post_status()
Gets the status of the specified post: publish, draft, etc.
If the function was passed the ID of an attachment (attached post), the function will return the status of the parent post. If the attachment is not attached to any post, it will be considered published - the function will return publish.
List of basic statuses in WordPress:
publish future draft pending private trash auto-draft inherit
Returns
String|false. The status of the post on success, false if it failed to get the status.
Uses: get_post()
1 time — 0.000357 sec (fast) | 50000 times — 0.29 sec (very fast) | PHP 7.0.5, WP 4.4.2
Hooks from the function
Usage
get_post_status( $post );
- $post(int/WP_Post)
- Identifier (ID) of the post or post object WP_Post.
Default: null (current post in the loop)
Examples
#1 Display the status of the post with ID 121
$status = get_post_status( 121 ); echo $status; /* Output: 'publish' - if the post is published. 'draft' - if it is a draft, etc. */
#2 Display the localized name of the post status
$status = get_post_status( 121 ); echo get_post_status_object( $status )->label; // Published
#3 Return one of:
publish, future, draft, pending, private, trash, auto-draft, inherit, custom status.
Description for each status See here.
#4 Check post status
Code for using outside of The Loop:
if ( 'private' === get_post_status( $post_id ) ) {
echo 'private';
}
else {
echo 'public';
}
Changelog
| Since 2.0.0 | Introduced. |