让代码更简单

WordPress函数is_post_status_viewable判断文章是否可见

重要:本文最后更新于2021-03-15 13:08:09,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

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 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐