如何在WordPress中创建克隆角色

时间:2011-10-19 作者:Aadi

如何使用与现有角色相同的功能创建新角色。例如:我想创建一个新角色,具有与管理员或编辑器等相同的功能。。

4 个回复
最合适的回答,由SO网友:Rutwick Gangurde 整理而成

试试这个。。。这应该行得通。

<?php
add_action(\'init\', \'cloneRole\');

function cloneRole()
{
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();

    $adm = $wp_roles->get_role(\'administrator\');
    //Adding a \'new_role\' with all admin caps
    $wp_roles->add_role(\'new_role\', \'My Custom Role\', $adm->capabilities);
}
?>
检查一下。

SO网友:McOwen

您可以随时使用User Role Editor 插件;

安装插件,转到用户角色编辑器,单击右侧的“添加角色”,从对话框的“复制”下拉列表中选择要复制的角色

SO网友:mohammed kaleemulla

假设要克隆编辑器。

$edr = $wp_roles->get_role(\'Editor\');
add_role(\'clonerole\', \'clone roles\', $edr->capabilities);

SO网友:Fosco Ventura

在我的案例中起作用的系统是:

<?php
add_action(\'init\', \'cloneRole\');

function cloneRole() {
 $adm = get_role(\'administrator\');
 $adm_cap= array_keys( $adm->capabilities ); //get administator capabilities
 add_role(\'new_role\', \'My Custom Role\'); //create new role
 $new_role = get_role(\'new_role\');
  foreach ( $adm_cap as $cap ) {
   $new_role->add_cap( $cap ); //clone administrator capabilities to new role
  }
}
?>

结束

相关推荐