我试图限制订阅者可以看到的内容,但我做的任何事情似乎都无效。我花了几个小时在网上搜索并通过wordpress代码,但都无济于事。有谁知道我怎么能这样做?
理想情况下,代码结构如下所示:
if(get_role() = 'subscriber'){
redirect
}
由于
顺便说一下,我尝试过get_role($ role),这对我不起作用。
答案 0 :(得分:2)
我已经使用了current_user_can。这里有一系列角色和功能:
http://codex.wordpress.org/Roles_and_Capabilities#Capabilities:_5
因此,由于“订户”级别以上的每个人都可以编辑帖子,因此可以采用一种方式来满足您的要求:
if (!current_user_can('edit_posts')){
//redirect, error, etc as you like
}
答案 1 :(得分:0)
更新:有一个函数current_user_can(capability)
,您可以使用它来查找用户可以做什么和不可以做什么。我想你需要增加另一个角色或能力。
尝试以下方法:
if ('subscriber' == get_role()) {
# do whatever
}
=任务
==比较
答案 2 :(得分:0)
Wordpress不能很好地处理内容访问限制。它只是没有内置到系统中。大多数权限工作涉及控制谁可以创建和编辑,但最重要的设计原则是让任何人查看。这对博客应用程序有意义,但如果您有需要条件访问的用户类型,则可能会受到限制。
您可以毫不费力地添加订阅者角色,但是您必须为许多渲染代码添加挂钩,以重定向或隐藏循环中的帖子。开发工作量最少的是检查用户在循环中的角色并隐藏他们不应该看到的内容。这样做的缺点是你最终可能会在空白页面附近渲染。