is_post_status_viewable函数是WordPress 5.7 新增的函数,目的是为了让开发人员用来确定文章状态是否可以公开可见。简单来说就是is_post_type_viewable函数的升级款。
函数详解
比如内部状态(Internal)和受保护状态(protected)就是认为不可见的,其他的状态,WordPress 内置的,我们要查看文章状态对象的 public 属性,自定义状态,则查看 publicly_queryable 属性。
复制
is_post_status_viewable( string|stdClass $post_status )
官方简介:确定一个帖子状态是否被认为是“可查看的”。
描述:对于内置的帖子状态,如发布和私有,‘公共’价值将被评估。对于所有其他用户,将使用“public_queryable”值。
参数
- $post_status
(string|stdClass) (必须) POST状态、名称或对象。
返回值
(bool) 文章状态是否应视为可查看的。
函数原型
该函数位于: wp-includes/post.php,文档在线查看地址:https://developer.wordpress.org/reference/files/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 );
}简单使用
复制
global $post;
$current_post_status = get_post_status( $post );
if ( is_post_status_viewable( $current_post_status ) ) {
echo '公开状态';
} else {
echo '非公开状态';
}




评论 (0)