Je ne veux pas sélectionner accidentellement le rôle d'administrateur.
Alors, y a-t-il un moyen de le supprimer de Settings -> General -> New User Default Role
?
Ok, ça a l'air délicat, mais je pense que c'est possible.
user-new.php
appelle wp_dropdown_roles()
pour générer la liste des rôles.wp_dropdown_roles()
appelle get_editable_roles()
pour obtenir la liste des rôles à afficher.get_editable_roles()
a un filtre, editable_roles
.Ainsi, vous devriez pouvoir ajouter un filtre pour editable_roles
, de telle sorte que, si la page en cours est user-new.php
, vous désactivez la variable administrator
de $editable_roles
.
Ce serait génial si vous pouviez me donner le code de mon fichier functions.php.
Ceci est complètement non testé, mais devrait vous mettre dans la bonne direction. Je suis en supposant que $editable_roles
est un tableau de rôles d'utilisateur, par exemple. array( 'subscriber', 'author', 'editor', 'administrator' )
, mais je n'ai pas vérifié.
<?php
function wpse_40897_filter_get_editable_roles_for_new_user( $editable_roles ) {
global $pagenow;
if ( 'user-new.php' == $pagenow ) {
unset( $editable_roles['administrator'] );
}
return $editable_roles;
}
add_filter( 'editable_roles', 'wpse_40897_filter_get_editable_roles_for_new_user' );
?>
Caveat : Ce n'est pas du code clé en main, mais plutôt du code exemple. Si vous ne vous sentez pas à l'aise pour le faire là où vous en avez besoin, je ne vous recommanderais pas de l'utiliser pour copier des pâtes.