WordPress 5.7 引入函数来检查文章是否可以公开查看

2021年3月16日     tovey    

WordPress 5.7 引入了两个函数来检查文章是否可以公开查看。

is_post_status_viewable()

以前, is_post_type_viewable() 函数已经可以用来在注册文章类型时通过 publicly_queryable 设置确定文章类型是否对匿名用户可见 。但是,仅仅确定是否可以查看特定文章还是不够的,因为此函数仅检查常规的文章类型设置。

这就是WordPress 5.7引入is_post_status_viewable()函数的原因,该函数使开发人员可以确定文章状态是否可以公开查看。内部状态和受保护状态始终视为不可见。对于内置文章状态, 将检查 public 属性,对于自定义状态,将检查 publicly_queryable 属性。

is_post_status_viewable() 函数接受一个参数:

  • $post_status:文章状态名称或对象。此参数是必需的。

用法示例:

  1. global $post;
  2. $current_post_status = get_post_status( $post );
  3. if ( is_post_status_viewable( $current_post_status ) ) {
  4. echo ‘This post uses a public post status’;
  5. else {
  6. echo ‘This post uses a non public post status’;
  7. }

请注意,受密码保护的文章被认为是公开可见的,而私密文章则不可见。

is_post_publicly_viewable()

WordPress 5.7 还引入 is_post_publicly_viewable() ,用于确定退出的用户是否可以查看单个文章。如果同时包含is_post_status_viewable()和 is_post_type_viewable()返回 true 文章属性,则认为该文章可见 。

is_post_publicly_viewable() 函数接受一个参数:

  • $post:文章ID或文章对象。此参数是可选的。默认情况下,它传递全局$post对象。

用法示例:

  1. if ( is_post_publicly_viewable() ) {
  2. echo ‘This post is publicly viewable’;
  3. else {
  4. echo ‘This post is not publicly viewable’;
  5. }

此外,这个 is_post_type_viewable() 函数已修改为,在将未注册的文章类型传递给该函数时返回 false ,以避免尝试访问非对象(non-object)上的属性。

分类: wordpress教程
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

错误: 请输入一个有效的电子邮件地址

错误: 无效的邮箱

错误: 请输入您的姓氏

错误: 请输入你的名字

错误: 请输入用户名

错误: 请输入密码

错误: 请确认您的密码

错误: 密码和密码确认不匹配