十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Role Manager WordPress Plugin
创新互联公司主营独山子网站建设的网络公司,主营网站建设方案,重庆APP软件开发,独山子h5微信平台小程序开发搭建,独山子网站营销推广欢迎独山子等地区企业咨询
这应该是目前最强大的一款WordPress角色管理插件
Role Manager的功能有:
修改已有用户等级的名称。如把“管理员”改为“超级管理员”,把“作者”改成“会员”等等。
可以新建等级。wordpress默认的注册用户等级只有五级:管理员,编辑,作者,贡献者和订阅者。通过Role Manager这个插件,你可以无限制地创建不同的等级
控制不同等级用户的权限,甚至是同一个等级的用户也可以拥有不同的权限。
Custom Capabilities,似乎意思是自定义性能,可是没搞懂什么意思,更不知道有何作用。
Role Manager把用户的权限分成20个方面,包括:
激活插件,编辑文件,编辑他人的文章,编辑页面,编辑插件,编辑自己的文章,编辑已发表的文章,修改模版,编辑用户资料,导入文章,管理分类,管理邮件,管理链接,管理选项,审核评论,发表文章,读,修改模版,Unfiltered Html,上传文件。
你可以通过分配不同的功能来限制用户的权限。
注:以下内容在WP
3.4+上测试通过current_user_can()的正确用法current_user_can()文档中有一句话要注意一下Do
not
pass
a
role
name
to
current_user_can(),
as
this
is
not
guaranteed
to
work
correctly.意思是说传递用户角色名称(如author、contributor)作为参数不能100%保证返回正确的结果,正确的用法是传递$capability,从这个函数的表面意思看,参数是权限比参数是角色名称更靠谱。所以,要根据不同角色拥有的权限来判断用户角色,用户权限可以在Roles
and
Capabilities中找到。判断用户是否为管理员(Administrator)if(
current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
a
administrator';
}判断用户是否为编辑(Editor)if(
current_user_can(
'publish_pages'
)
!current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
an
editor';
}判断用户是否为作者(Author)if(
current_user_can(
'publish_posts'
)
!current_user_can(
'publish_pages'
)
)
{
echo
'The
current
user
is
an
author';
}判断用户是否为投稿者(Contributor)if(
current_user_can(
'edit_posts'
)
!current_user_can(
'publish_posts'
)
)
{
echo
'The
current
user
is
a
contributor';
}判断用户是否为订阅者(Subscriber)if(
current_user_can(
'read'
)
!current_user_can(
'edit_posts'
)
)
{
echo
'The
current
user
is
a
subscriber';
}用$current_user判断$current_user是WordPress的一个全局变量,当用户登录后,这个里面就会有用户的角色和权限信息。当WordPress的init
action执行后,就可以安全的使用$current_user全局变量了。在模板文件中判断登录用户是否为作者(Author)global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
在functions.php中判断用户是否为作者(Author)add_action(
'init',
'check_user_role'
);
function
check_user_role()
{
global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
}
之所以要使用add_action(
'init',
'check_user_role'
);是因为$current_user这个全部变量到init
action执行时才完成赋值,既然要读它的内容,至少要等到它的内容准备好后再读取。functions.php的代码先与init
action执行,所以在functions.php中直接写global
$current_user是无法获取用户信息的。详细信息可以参考《WordPress
Actions加载顺序》。检查用户角色之前,还可以先检查一下用户是否登录
①订阅者:只有阅读权限,可以修改自己的个人资料,例如昵称、联系信息、密码等。
②投稿者:具有订阅者的所有权限。可以发表文章,但需要经过管理员审核后才能在博客上显示出来;对待审中的文章可以编辑,但对已通过审核的文章不能编辑。
③作者:具有投稿者的所有权限。发布文章不需要审核,并且可以编辑已通过审核的文章,还可以上传文件和使用媒体库。
④编辑:具有作者的所有权限。可以对文章标签、分类进行管理,可以添加或编辑页面,可以管理友情链接、可以上传文件等等。编辑拥有除系统功能设置外的所有权限。
⑤管理员:可以控制用户写文章、创建页面、管理插件、管理主题,以及管理其他用户的权限。管理员可以通过后天分配用户权限。另外,管理员还可以删除管理员!所以这个权限的角色务必要保护好!!!
超级管理员: 这个只有开启了多站点模式才会产生,主要富有所有wordpress站群的权限,如新增网站,管理网网站等等
希望可以帮到你,有帮助请采纳,谢谢。