搬码资源网广告位搬码资源网广告位

WordPress用户角色与用户能力/权限

上面是搬码源码网 abnma.com 经由过程收集网络收拾整顿的代码片断。搬码源码网小编此刻分享给各人,也给各人做个参考。

wordpress 用户脚色(user roles)是 WP 或许其它插件增长的,可以让网站治理员(网站治理员也是一种脚色)来利便的治理用户的权限/能力(Capabilities,一般环境下,一种脚色不止有一种能力,以是用单数),应用收费的插件,可以利便的治理每种脚色的能力,简朴的懂得是:脚色具备某些能力,是某些能力的代称。WordPress 用户脚色与用户能力/权限(Roles and Capabilities)体系是自 WordPress2.0 起被慢慢完美的。

WORDPRESS 自身的用户脚色

仅指 WordPress 安装时就有的几种用户脚色(所列为脚色名称):

Subscriber:订阅者

Contributor :投稿者

Author :作者

Editor :编纂

Administrator :治理员

此外,假如启用了 WordPress 多站,将会多出一种用户脚色:Super Admin(超等治理员)。

WORDPRESS 自身的用户能力/权限,WordPress 在安装终了之后,会为各个用户脚色调配默许的用户能力/权限,各个用户能力/权限的名称(ID)以及其寄义此不赘述。

WORDPRESS 自身的用户能力/权限的用处

宽泛,可以限制用户权限,这是明摆的工作,例如:用在插件或许主题的设置后台,以限定可望到菜单项并举行某些操作的用户组;限定可以揭晓/改动/删除本身的文章(假如有权限揭晓的话)/他人的文章等等。有时辰在输入某些内容或许存储某些内容之前,有须要查抄下以后已登任命户的权限,这时辰就需求举行权限查抄了:

if ( current_user_can( $capability ) ) {

//为有权限的用户做些什么

}

还可以在轮回中查抄以后用户是否有对某个对象的操作能力:

current_user_can( 'edit_post',$post_id );

还可以对文章(狭义上的文章,泛指各类文章类型的文章)的作者的权限举行查抄:

if ( author_can( $post,$capability ) ) {

// 假如作者有响应权限,怎么着

}

好比,有某种权限了,就间接揭晓,不然就置为底稿或许待审状况等。

以用户为对象的脚色、能力/权限操作

在 WordPress 中,只需脚色之间的能力互不抵触(一般环境下不会发生这种工作),统一个用户可以同时有多种脚色。在获取用户对象之后,可以 为某个用户添加一种脚色:

$user->add_role( $role_name );

假如想限制某用户只有一种脚色,可以用:

$user->set_role( $role_name );

移除用户的某个脚色:

$user->remove_role( $role_name );

用户的能力/权限操作

// 查抄给定用户是否有某种能力/权限或许脚色

if ( $user->has_cap( $cap_name ) ) {

// 做点儿啥

}

// 为给定用户添加一种能力/权限

$user->add_cap( $cap_name );

// 为给定用户移除一种能力/权限

$user->remove_cap( $cap_name );

// 为给定用户移除全数能力

$user->remove_all_caps();

以网站为对象的脚色、能力/权限操作

留意:举行这些操作的时辰,末了声明下全局变量 global $wp_roles;,然后以$wp_roles->add_role();、 $wp_roles->remove_role();的体式格局举行操作,出格是在插件中应用时。

添加用户脚色

/*

$role_name:相称于脚色的ID;

$display_name:脚色的显示名称,撑持当地化字符;

$capabilities:该脚色应具备的能力构成的数组(能力ID/名称为ID,值为值构成的数组)

*/

add_role( $role_name,$display_name,$capabilities );

示例:

add_role( 'pama','银牌会员',array('read'=>true,'level_0'=>true) );

删除用户脚色

remove_role( $role_name );

示例:

remove_role( 'pama' );

获取用户脚色对象

get_role( $role );

添加自界说的用户能力/权限

// 获取 "pama" 脚色对象

$role = get_role( 'author' );

// 为该脚色对象添加 "sleep" 能力

$role->add_cap( 'sleep' );

以上是搬码源码网(abnma.com)为你网络收拾整顿的全数代码内容,但愿文章可以或许帮你解决所碰到的步伐开提问题。假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

总结

以上是搬码源码网为你网络收拾整顿的WordPress用户脚色与用户能力/权限全数内容,但愿文章可以或许帮你解决WordPress用户脚色与用户能力/权限所碰到的步伐开提问题。

假如感觉搬码源码网网站内容还不错,接待将搬码源码网网站保举给步伐员挚友。

0
分享到:
搬码资源网广告位

评论0

请先

为了配合净网行动 , 本站下架所有娱乐源码 , 如有疑问 , 请联系站长qq 43233524
没有账号? 忘记密码?