is_post_type_viewable( string|WP_Post_Type $post_type )

Determines whether a post type is considered “viewable”.

Description 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 Parameters


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

Top ↑

Return Return

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

Top ↑

Source 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 );

Top ↑

Changelog Changelog

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

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.