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