方法/步骤
公司主营业务:成都网站制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出凌源免费做网站回馈大家。
订阅者:只能修改自己的个人资料,例如昵称、联系信息、密码等等。
投稿者:具有订阅者的所有权限。可以发表文章,发表的文章需要经过管理员审核后才能在博客上显示出来,但可以预览效果。对待审中的文章可以编辑,但对已通过审核的文章不能编辑,可以查看所有站内评论,但不能对评论进行编辑。
作者:具有投稿者的所有权限。可以编辑已通过审核的文章,发表文章不需要审核,可以使用媒体库。
编辑:具有作者的所有权限。可以对文章标签、分类进行管理,可以管理友情链接,可以编辑评论,可以添加或编辑页面,还可以编辑待审中的文章,但编辑后仍然处于待审状态。实际上,编辑只是不具备外观、插件、用户、设置和备份这些选项的操作。
5
管理员:具有admin的所有权限,包括删除admin!不能随便给他人这个权限,这个不用具体说也知道啦。
添加角色可以查看位于/wp-includes/ - capabilities.php中的add_role函数
详细的使用方式可以参考/wp-admin/includes/ - schema.php文件。
注:以下内容在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加载顺序》。检查用户角色之前,还可以先检查一下用户是否登录
Role Manager WordPress Plugin
这应该是目前最强大的一款WordPress角色管理插件
Role Manager的功能有:
修改已有用户等级的名称。如把“管理员”改为“超级管理员”,把“作者”改成“会员”等等。
可以新建等级。wordpress默认的注册用户等级只有五级:管理员,编辑,作者,贡献者和订阅者。通过Role Manager这个插件,你可以无限制地创建不同的等级
控制不同等级用户的权限,甚至是同一个等级的用户也可以拥有不同的权限。
Custom Capabilities,似乎意思是自定义性能,可是没搞懂什么意思,更不知道有何作用。
Role Manager把用户的权限分成20个方面,包括:
激活插件,编辑文件,编辑他人的文章,编辑页面,编辑插件,编辑自己的文章,编辑已发表的文章,修改模版,编辑用户资料,导入文章,管理分类,管理邮件,管理链接,管理选项,审核评论,发表文章,读,修改模版,Unfiltered Html,上传文件。
你可以通过分配不同的功能来限制用户的权限。