我如何才能检查访问者是否可以阅读帖子?

时间:2022-02-22 作者:gordie

我知道如何使用

$can_read = current_user_can(\'read\',$post->ID);
但当用户未登录时,上述代码返回false。那么,我如何检查访问者是否有权访问它?

谢谢

1 个回复
SO网友:Michi91

访问者通常有权访问帖子。我知道的唯一例外是草稿、受密码保护的帖子或不可公开访问的post\\u类型。

你可以使用get_post_status()post_password_required()

相关推荐

Plugin capabilities

我创建了一个界面,允许用户执行一定数量的操作,每个操作都有相关的功能(包括访问该界面)。我想有一个基本的能力(这里是原始的?)如果用户想要执行所有其他操作,则需要具备:如果用户可以删除项目,则用户还必须能够访问该界面。有几个插件允许添加/删除功能:我想防止出现用户可以删除但无法访问界面的情况。我知道,由于帖子类型、元功能和map\\u meta\\u cap filter,我很难将其应用到我的插件中。我可以一直检查这两个选项,但权限层次结构最终会更加复杂(比如,3个级别-用户必须具有访问\\u界面、创建\