Cómo crear una función de clonación en wordpress

22

Cómo crear un nuevo rol con las mismas capacidades del rol existente. Por ejemplo: me gustaría crear un nuevo rol con las mismas capacidades de administrador o editor, etc.

    
pregunta notme 19.10.2011 - 07:33

5 respuestas

26

Prueba esto ... Esto debería funcionar.

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

Compruébalo.

    
respondido por el Rutwick Gangurde 19.10.2011 - 07:56
3

Siempre puede utilizar el complemento User Role Editor ;

  1. instalar el complemento
  2. Ir a Usuarios > Editor de roles de usuario
  3. Haz clic en "Agregar rol" a la derecha
  4. Elija la función que desea duplicar en el menú desplegable "Hacer copia de" en el cuadro de diálogo
  5. Haz clic en "Agregar rol" en el cuadro de diálogo
respondido por el McOwen 25.05.2017 - 16:35
0

suponga que desea clonar el editor.

$edr = $wp_roles->get_role('Editor');
add_role('clonerole', 'clone roles', $edr->capabilities);
    
respondido por el mohammed kaleemulla 28.04.2017 - 08:21
0

el sistema que funcionó en mi caso es este:

<?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
  }
}
?>
    
respondido por el Fosco Ventura 16.07.2018 - 12:50
-1

Para clonar el rol del editor, puede usar el usuario debajo de Código y pasar el Coste siguiente en function.php

add_action('init', 'CreatecloneRoleEditor');
function CreatecloneRoleEditor()
{
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();

    $etr = $wp_roles->get_role('Editor');
    $wp_roles->add_role('new_Editor', 'new Editor', $etr->capabilities);
}

Para obtener más información sobre la función de administración de Clonar, Editor, etc. puede seguir este enlace enlace

    
respondido por el mohammed kaleemulla 30.05.2017 - 12:21

Lea otras preguntas en las etiquetas