is_post_type_viewable( string|WP_Post_Type $post_type )

Determines whether a post type is considered “viewable”.


Description

For built-in post types such as posts and pages, the ‘public’ value will be evaluated. For all others, the ‘publicly_queryable’ value will be used.


Parameters

$post_type

(string|WP_Post_Type) (Required) Post type name or object.


Return

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


Source

File: wp-includes/post.php

function is_post_type_viewable( $post_type ) {
	if ( is_scalar( $post_type ) ) {
		$post_type = get_post_type_object( $post_type );
		if ( ! $post_type ) {
			return false;
		}
	}

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


Changelog

Changelog
Version Description
WP-4.6.0 Converted the $post_type parameter to accept a WP_Post_Type object.
WP-4.5.0 Added the ability to pass a post type name in addition to object.
WP-4.4.0 Introduced.