get_post_stati

The timeline below displays how wordpress function get_post_stati has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Gets a list of post statuses.
 *
 * @since 3.0.0
 *
 * @global stdClass[] $wp_post_statuses List of post statuses.
 *
 * @see register_post_status()
 *
 * @param array|string $args     Optional. Array or string of post status arguments to compare against
 *                               properties of the global `$wp_post_statuses objects`. Default empty array.
 * @param string       $output   Optional. The type of output to return, either 'names' or 'objects'. Default 'names'.
 * @param string       $operator Optional. The logical operation to perform. 'or' means only one element
 *                               from the array needs to match; 'and' means all elements must match.
 *                               Default 'and'.
 * @return string[]|stdClass[] A list of post status names or objects.
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' === $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}

WordPress Version: 5.9

/**
 * Get a list of post statuses.
 *
 * @since 3.0.0
 *
 * @global stdClass[] $wp_post_statuses List of post statuses.
 *
 * @see register_post_status()
 *
 * @param array|string $args     Optional. Array or string of post status arguments to compare against
 *                               properties of the global `$wp_post_statuses objects`. Default empty array.
 * @param string       $output   Optional. The type of output to return, either 'names' or 'objects'. Default 'names'.
 * @param string       $operator Optional. The logical operation to perform. 'or' means only one element
 *                               from the array needs to match; 'and' means all elements must match.
 *                               Default 'and'.
 * @return string[]|stdClass[] A list of post status names or objects.
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' === $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}

WordPress Version: 5.5

/**
 * Get a list of post statuses.
 *
 * @since 3.0.0
 *
 * @global array $wp_post_statuses List of post statuses.
 *
 * @see register_post_status()
 *
 * @param array|string $args     Optional. Array or string of post status arguments to compare against
 *                               properties of the global `$wp_post_statuses objects`. Default empty array.
 * @param string       $output   Optional. The type of output to return, either 'names' or 'objects'. Default 'names'.
 * @param string       $operator Optional. The logical operation to perform. 'or' means only one element
 *                               from the array needs to match; 'and' means all elements must match.
 *                               Default 'and'.
 * @return array A list of post status names or objects.
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' === $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}

WordPress Version: 4.1

/**
 * Get a list of post statuses.
 *
 * @since 3.0.0
 *
 * @global array $wp_post_statuses List of post statuses.
 *
 * @see register_post_status()
 *
 * @param array|string $args     Optional. Array or string of post status arguments to compare against
 *                               properties of the global `$wp_post_statuses objects`. Default empty array.
 * @param string       $output   Optional. The type of output to return, either 'names' or 'objects'. Default 'names'.
 * @param string       $operator Optional. The logical operation to perform. 'or' means only one element
 *                               from the array needs to match; 'and' means all elements must match.
 *                               Default 'and'.
 * @return array A list of post status names or objects.
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' == $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}

WordPress Version: 4.0

/**
 * Get a list of all registered post status objects.
 *
 * @since 3.0.0
 *
 * @global array $wp_post_statuses List of post statuses.
 *
 * @see register_post_status()
 *
 * @param array|string $args     Optional. Array or string of post status arguments. Default array.
 * @param string       $output   Optional. The type of output to return. Accepts post status 'names'
 *                               or 'objects'. Default 'names'.
 * @param string       $operator Optional. The logical operation to perform. 'or' means only one element
 *                               from the array needs to match; 'and' means all elements must match.
 *                               Default 'and'.
 * @return array A list of post status names or objects.
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' == $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}

WordPress Version: 3.9

/**
 * Get a list of all registered post status objects.
 *
 * @since 3.0.0
 * @uses $wp_post_statuses
 * @see register_post_status
 * @see get_post_status_object
 *
 * @param array|string $args An array of key => value arguments to match against the post status objects.
 * @param string $output The type of output to return, either post status 'names' or 'objects'. 'names' is the default.
 * @param string $operator The logical operation to perform. 'or' means only one element
 *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
 * @return array A list of post status names or objects
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' == $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}

WordPress Version: 3.7

/**
 * Get a list of all registered post status objects.
 *
 * @package WordPress
 * @subpackage Post
 * @since 3.0.0
 * @uses $wp_post_statuses
 * @see register_post_status
 * @see get_post_status_object
 *
 * @param array|string $args An array of key => value arguments to match against the post status objects.
 * @param string $output The type of output to return, either post status 'names' or 'objects'. 'names' is the default.
 * @param string $operator The logical operation to perform. 'or' means only one element
 *  from the array needs to match; 'and' means all elements must match. The default is 'and'.
 * @return array A list of post status names or objects
 */
function get_post_stati($args = array(), $output = 'names', $operator = 'and')
{
    global $wp_post_statuses;
    $field = ('names' == $output) ? 'name' : false;
    return wp_filter_object_list($wp_post_statuses, $args, $operator, $field);
}