Cómo crear un rol de clonación en WordPress


25

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.


Que has intentado Que funciono Que no? ¿Has probado Members Plugin ? ¿O el complemento de Capability Manager ? ¿Hacen las cosas que quieres?
soulseekah

Puede utilizar el Editor de rol de usuario si desea hacer todo visualmente :)

Respuestas:


33

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

Revisalo.


¡¡Cuidado!! Esto parece clonar el rol antes de que los complementos agreguen roles y capacidades. Intentaré admin_init para ver si esto es mejor.
spankmaster79

@ spankmaster79 Sí, por favor, ¡será genial!
Rutwick Gangurde

@RutwickGangurde no funcionó mejor. El plugin sigue ignorando el
papel

4

Siempre puede usar el complemento Editor de roles de usuario ;

  1. Instala el complemento
  2. Vaya a Usuarios> Editor de roles de usuario
  3. Haga 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. Haga clic en "Agregar rol" en el cuadro de diálogo

0

supongamos que desea clonar el editor.

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

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
  }
}
?>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.