is_post_status_viewable( string|stdClass $post_status )

Determine whether a post status is considered “viewable”.

Description

For built-in post statuses such as publish and private, the ‘public’ value will be evaluted. For all others, the ‘publicly_queryable’ value will be used.

Parameters

$post_status

(string|stdClass) (Required) Post status name or object.

Return

(bool) Whether the post status should be considered viewable.

Source

File: wp-includes/post.php

function is_post_status_viewable( $post_status ) {
	if ( is_scalar( $post_status ) ) {
		$post_status = get_post_status_object( $post_status );
		if ( ! $post_status ) {
			return false;
		}
	}

	if (
		! is_object( $post_status ) ||
		$post_status->internal ||
		$post_status->protected
	) {
		return false;
	}

	return $post_status->publicly_queryable || ( $post_status->_builtin && $post_status->public );
}

Changelog

Version Description
5.7.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/is_post_status_viewable