The get_post_statuses() WordPress PHP function retrieves all of the supported post statuses in WordPress.
Usage
To use the function, simply call get_post_statuses()
. The function returns an array of post statuses.
$post_statuses = get_post_statuses(); print_r($post_statuses);
Parameters
- None
More information
See WordPress Developer Resources: get_post_statuses
This function returns a hard-coded list of statuses. To see the list of all post statuses available in your WordPress instance, including custom statuses, use get_post_stati.
Examples
Display all post statuses
This code displays a list of all available post statuses.
$post_statuses = get_post_statuses(); foreach ($post_statuses as $status => $description) { echo "Status: {$status}, Description: {$description}\n"; }
Check if a specific post status exists
This code checks if the ‘draft’ post status is available in WordPress.
$post_statuses = get_post_statuses(); if (array_key_exists('draft', $post_statuses)) { echo "Draft status exists!"; } else { echo "Draft status not found."; }
Count the number of post statuses
This code counts the total number of post statuses available in WordPress.
$post_statuses = get_post_statuses(); $total_statuses = count($post_statuses); echo "There are {$total_statuses} post statuses available.";
Filter posts by a specific post status
This code retrieves and displays posts with the ‘draft’ post status.
$args = array( 'post_type' => 'post', 'post_status' => 'draft', ); $query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); echo "Title: " . get_the_title() . "\n"; } } else { echo "No draft posts found."; } wp_reset_postdata();
Get the description of a specific post status
This code retrieves the description of the ‘private’ post status.
$post_statuses = get_post_statuses(); if (array_key_exists('private', $post_statuses)) { echo "The private post status description is: {$post_statuses['private']}"; } else { echo "Private post status not found."; }