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)