Function and usage of get_post_statuses() in wordpress


Answers ( 1 )


    The get_post_statuses() function in WordPress is a useful tool for developers working with posts. Here's a detailed explanation and sample usage:


    get_post_statuses(): string[]


    This function is designed to retrieve all of the post statuses that are supported by WordPress.


    • WordPress Posts and Their Statuses: In WordPress, posts can have different statuses indicating their current state. For example, a post can be published, pending review, or in draft mode.
    • Valid Status Values: It's crucial to know what statuses are available, especially when developing themes or plugins that interact with posts.
    • Utility of the Function: The get_post_statuses() function provides a straightforward way to get all these valid post statuses. It returns the post statuses along with their descriptions, ensuring developers are aware of the available options.


    • The function returns an array of strings (string[]).
    • Each element in the array is a post status label, keyed by its status.
    • For instance, you might have ['publish' => 'Published', 'draft' => 'Draft', ...].

    Sample Usage:

    Imagine you're creating a plugin that needs to display posts based on their status. You would first need to retrieve all possible statuses. Here's how you might use get_post_statuses() in this context:

    // Retrieve all post statuses
    $statuses = get_post_statuses();
    // Output the statuses
    foreach ($statuses as $status_key => $status_label) {
        echo "Status Key: " . $status_key . " - Label: " . $status_label . "<br>";

    In this sample code:

    • $statuses will hold the array of post statuses.
    • We then iterate over this array, outputting the key (status) and its corresponding label.
    • This is useful for dynamically creating filters, lists, or other UI elements in your plugin or theme that require knowledge of post statuses.

    Using get_post_statuses() is a best practice for developers needing to work with the full range of WordPress post statuses, ensuring compatibility and robustness in their themes or plugins.

Leave an answer