web-dev-qa-db-fra.com

Comment créer un rôle de clone dans Wordpress

Comment créer un nouveau rôle avec les mêmes capacités que le rôle existant. Ex: je voudrais créer un nouveau rôle avec les mêmes capacités d’administrateur ou d’éditeur, etc.

24
Aadi

Essayez ceci ... Cela devrait marcher.

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

Vérifie ça.

31
Rutwick Gangurde

Vous pouvez toujours utiliser l’éditeur de rôles utilisateur plugin;

  1. Installer le plugin
  2. Allez à Utilisateurs> Editeur de rôle d'utilisateur
  3. Cliquez sur "Ajouter un rôle" à droite
  4. Choisissez le rôle que vous souhaitez dupliquer dans le menu déroulant "Créer une copie de" de la boîte de dialogue.
  5. Cliquez sur "Ajouter un rôle" dans la boîte de dialogue.
3
McOwen

supposons que vous vouliez cloner l'éditeur.

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

le système qui a fonctionné dans mon cas est le suivant:

<?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
  }
}
?>
0
Fosco Ventura