I don’t want to accidentally select Administrator role.
So is there a way to remove it from Settings -> General -> New User Default Role
?
I don’t want to accidentally select Administrator role.
So is there a way to remove it from Settings -> General -> New User Default Role
?
Okay, this looks tricky, but I think it’s possible.
user-new.php
file calls wp_dropdown_roles()
to output the list of roles.wp_dropdown_roles()
function calls get_editable_roles()
to get the list of roles to output.get_editable_roles()
function has a filter, editable_roles
.So, you should be able to add a filter for editable_roles
, such that, if the current page is user-new.php
, you unset administrator
from $editable_roles
.
It would be awesome if you can give me the code for my functions.php file.
This is completely untested, but should get you in the right direction. I’m assuming that $editable_roles
is an array of user roles, e.g. array( 'subscriber', 'author', 'editor', 'administrator' )
, but I’ve not verified.
<?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: This isn’t turn-key code, but rather is merely example code. If you’re not comfortable grokking it to get where you need, then I wouldn’t recommend using it for copy-pasta.