wordpress本来就是一个多用户的内容管理系统,系统所提供的框架原本就支持多用户,多权限模式。或许不少的wordpress使用者可以说出wordpress的几个角色分组名称以及功能。如:“管理员”,“网站编辑”,“作者”,“投稿者”,“订阅者”。但是实际wordpress可以自定义用户分组,用户权限。下面小沃就来告诉一下大家wordpress关于自定义权限这部分的相关函数吧。
一、获取当前角色列表wp_roles()
wp_roles()这个函数是获取当前角色列表的函数,它返回的是一个对象类型,其内部结构比较复杂,可以通过获取后print_r打印结构体。
二、添加角色函数add_role($rolename, $roledesc)
add_role($rolename, $roledesc)这个函数是用来新建角色的。没错,wordpress默认自带五个角色,但是可以通过函数新建出各种自定义的角色。
$rolename是角色名
$roledesc是角色的描述
三、删除角色函数remove_role($rolename)
remove_role($rolename)这个函数是用来删除角色的。wordpress提供了新建角色的函数,也提供了删除角色的函数。这个函数不仅仅可以删除自己新建的角色,还可以删除默认角色。
$rolename是角色名
四、获得角色对象函数get_role($rolename)
get_role($rolename)这个函数是用来获得角色对象的。有时我们知道角色名,需要获得角色的详细信息。就需要这个函数。
$rolename是角色名
五、给某个角色添加权限add_cap($capname)
准确来说它不是一个函数,它是一个类中的方法。当调用了get_role后获得的一个角色对象后,使用$role -> add_cap()执行。
$capname是权限名
六、给某个角色删除权限remove_cap($capname)
准确来说它也不是一个函数,它同样是一个类中的方法。当调用了get_role后获得的一个角色对象后,使用$role -> remove_cap()执行。
$capname是权限名
七、判断当前登录用户是否有某个权限current_user_can($capname)
直接使用current_user_can($capname)这个函数即可,它返回true说明当前登录的用户有这个功能,返回false说明当前登录的用户没有这个功能。
$capname是权限名
八、判断谋一个用户是否有这个功能user_can($user, $capname)
这个函数与current_user_can比较类似,它是判断某个特定用户所拥有的权限的,同样是返回true说明有这个权限,返回false说明没有这个权限。
$user是用户的对象,可以通过get_userdata()获取
$capname是权限名