根据用户级别限制对页面的访问

时间:2013-01-15 作者:James

我被要求构建一个WordPress,根据登录用户级别限制对具有特定自定义帖子类型的帖子的访问。将有许多预先设定的用户角色,他们希望在撰写帖子时选择可以查看每个帖子的级别。

最好的方法是什么?

1 个回复
最合适的回答,由SO网友:JCL1178 整理而成

有两种方法可以做到这一点。几乎任何像样的成员资格管理插件都可以使您将内容限制到给定的用户角色,而诸如role Scoper之类的插件则更加灵活。对于更基于代码的解决方案,您可以在需要时向所需的主题模板文件添加以下内容的一些变体:

<?php if(current_user_can(\'some_capability\') ); ?>
并将某些\\u功能替换为最低期望角色的任何预设或自定义功能。例如,要限制编辑器和管理员(假定没有自定义):

<?php if(current_user_can(\'delete_others_posts\') ); ?>
将此功能添加到自定义帖子类型中的任何给定帖子更具挑战性。你会卷入adding actions and functions similar to this Smashing Magazine tutorial 按用户名限制帖子。您需要做的就是从获取用户列表更改为获取角色或功能列表。再一次,有很多插件已经做到了这一点。。。如果你的需求并不复杂,那么你可能不想重新发明轮子。

结束

相关推荐

PHP致命错误:无法为wp-includes/capabilities.php中的非对象调用重载函数

我在apache日志中遇到了太多以下错误。PHP Fatal error: Cannot call overloaded function for non-object in wp-includes/capabilities.php on line 1187这是函数current\\u user\\u can($capability)的内部,第1187行如下所示:$current_user = wp_get_current_user(); 我不知道问题出在哪里?