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.
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.
Vous pouvez toujours utiliser l’éditeur de rôles utilisateur plugin;
supposons que vous vouliez cloner l'éditeur.
$edr = $wp_roles->get_role('Editor');
add_role('clonerole', 'clone roles', $edr->capabilities);
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
}
}
?>