函数原型
is_post_type_viewable( string|WP_Post_Type $post_type ): bool
函数描述
Determines whether a post type is considered “viewable”.
是否弃用
未弃用
函数参数
-
$post_type
string|WP_Post_Type
Required - Post type name or object.
函数返回值
bool Whether the post type should be considered viewable.
函数位置
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;
}
}
if ( ! is_object( $post_type ) ) {
return false;
}
$is_viewable = $post_type->publicly_queryable || ( $post_type->_builtin && $post_type->public );
/**
* Filters whether a post type is considered "viewable".
*
* The returned filtered value must be a boolean type to ensure
* `is_post_type_viewable()` only returns a boolean. This strictness
* is by design to maintain backwards-compatibility and guard against
* potential type errors in PHP 8.1+. Non-boolean values (even falsey
* and truthy values) will result in the function returning false.
*
* @since 5.9.0
*
* @param bool $is_viewable Whether the post type is "viewable" (strict type).
* @param WP_Post_Type $post_type Post type object.
*/
return true === apply_filters( 'is_post_type_viewable', $is_viewable, $post_type );
}
源码链接
变更日志
| Version | Description |
|---|---|
| 5.9.0 | Added is_post_type_viewable hook to filter the result. |
| 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. |

