匿名用户的Read_POST元功能

时间:2019-04-02 作者:Leo Germani

read_post 是一种元功能,可用于检查用户是否可以阅读帖子。例如,可以这样使用:

if ( current_user_can(\'read_post\', $post_ID) ) {
    // do something
}
没有角色具有此功能。它将映射到read_posts, read_private_posts 或者甚至其他一组本地功能,具体取决于上下文。当前用户是这篇文章的作者吗?这个帖子是私人的吗?职位状态是什么?它将执行所有验证,即使帖子具有自定义帖子状态。

显然,这种使用meta\\u cap的验证只有在检查特定用户时才起作用。

匿名用户呢?

有没有一种方法可以使用类似current_user_can(\'read_post\', $post_ID) 当没有当前用户时,这将起作用?

当然我可以自己做所有的检查。这篇文章是不是公开的?等等但我的问题是,有没有一种方法可以做到这一点,而不必重复map_meta_cap 过滤器用于read_post 已经实施得这么好了?

我错过什么了吗?

1 个回复
SO网友:Serkan Algur

你没有遗漏任何东西。使用WordPress,您无法控制访问者(匿名用户)。你唯一的控制权is_user_logged_in() 检查用户是否登录。您可以阻止访问者发布帖子。

此外,您还可以创建一个基于cookie或本地存储的函数(用于控制他们访问的帖子数量),并将此函数与is_user_logged_in().

相关推荐

Correct folder permissions?

我最近刚刚在coldfusion框上安装了PHP和wordpress,wordpress向我抛出了一个对话框,告诉我需要输入FTP信息,以便wordpress可以更改文件。我读过这篇文章,基本上只有当wordpress无法通过PHP/apache用户直接操作文件时,才会出现这篇文章。我现在的问题是,我应该如何设置文件夹权限,使事情变得安全和顺利?wordpress根文件夹具有以下权限drwxrwxr-x 6 wwwtech root 4096 Feb 21 14:09 home 中的文