WordPress 常用函数 / add_cap
简介
给指定的用户角色或者具体的某个用户添加特定的权限。
用法
<?php global $wp_roles; $wp_roles->add_cap( $role, $cap ); ?>
参数
$role WP_Roles 类中才有该参数,WP_Role 和 WP_User 类中没有该参数。
(string) (Required) 用户角色名称
Default: None
$cap
(string) (Required) 权限名称
Default: None
$grant
(boolean) (optional) 是否该用户拥有该权限
Default: true
返回值
无
实例
function add_theme_caps() {
// 获取作者这个用户角色。
$role = get_role( 'author' );
// 在当前主题让作者也可以编辑其他人的日志。
$role->add_cap( 'edit_others_posts' );
}
add_action( 'admin_init', 'add_theme_caps');
// 除了给用户角色添加权限,也可以给特定的用户添加权限。
$user = new WP_User( $user_id );
$user->add_cap( 'can_edit_posts');
注解
- 没有公共的 add_cap() 函数,只有 WP_Roles, WP_Role, WP_User 这三个类中的方法可以添加权限。
- 如果你想在添加一个新的用户角色,给它赋权,可以在使用 [funtion]add_role()[/funtion] 添加用户角色的时候直接添加。
- 用户角色的权限设置是添加到数据库中(表 wp_options 的 wp_user_roles 字段中),所以该函数最好在主题/插件激活的时候调用。
修改记录
Since 2.0.0
源文件
wp-includes/capabilities.php