Voici le code que j'ai ajouté pour donner la capacité "edit_users" à un rôle personnalisé.
function edit_shop_manager() {
// Get custom role
$shop_manager = get_role('shop_manager');
$shop_manager->add_cap('create_users');
$shop_manager->add_cap('edit_users');
$shop_manager->add_cap('delete_users');
$shop_manager->add_cap('list_users');
$shop_manager->add_cap('remove_users');
$shop_manager->add_cap('promote_users');
}
add_action( 'init', 'edit_shop_manager' );
Lorsque j'ai ajouté ce code dans functions.php, la section Utilisateurs est visible pour les utilisateurs avec le rôle 'shop_manager'. Mais l'option modifier l'utilisateur n'est pas disponible.
Y at-il quelque chose qui ne va pas avec le code?
Dans le cas particulier où vous travailliez sur une installation multisite . Avez-vous essayé d'ajouter également la fonctionnalité 'manage_network_users'?
function edit_shop_manager() {
// Get custom role
$shop_manager = get_role('shop_manager');
$shop_manager->add_cap('create_users');
$shop_manager->add_cap('edit_users');
$shop_manager->add_cap('manage_network_users');
$shop_manager->add_cap('delete_users');
$shop_manager->add_cap('list_users');
$shop_manager->add_cap('remove_users');
$shop_manager->add_cap('promote_users');
}
add_action( 'init', 'edit_shop_manager' );