如何在Wordpress中创建克隆角色


Answers:


33

试试这个...这应该工作。

<?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);
}
?>

检查。


小心!!这似乎是在插件添加角色和功能之前克隆角色。我将尝试使用admin_init来看看是否更好。
spankmaster79 2014年

@ spankmaster79是的,那太好了!
Rutwick Gangurde 2014年

@RutwickGangurde没有更好的工作。该插件仍然忽略了角色
spankmaster79 2014年

4

您可以始终使用用户角色编辑器插件;

  1. 安装插件
  2. 转到用户>用户角色编辑器
  3. 点击右侧的“添加角色”
  4. 从对话框的“制作副本”下拉菜单中选择要复制的角色
  5. 在对话框中单击“添加角色”


0

在我的情况下工作的系统是这样的:

<?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
  }
}
?>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.