Nothing. If you remove “subscriber”, for example, it won’t automatically be replaced with anything similar unless you use add_role()
. Or are you asking about removing a role that a user is currently a part of?
Yes, if I add plugin that has a role called “New Admin Role” and then change all administrators to that role. When I remove the plugin, and thus, remove the “New Admin Role”, what role replaces that?
Does WordPress remember the last role registered and change to that?
No idea; I’m not sure how new roles are stored. It might remember the new role after you delete the plugin, or it might put them in a pseudo-subscriber role, where they have the same abilities as a subscriber but no actual role assigned. The best way to know would be to test it: Install the plugin, make a test user, assign it a unique role, then remove the plugin.
Edit: You could always ask the plugin author or post a topic through that plugin’s page.
Just tested this and if you remove the role, it sets the user to “-No Role For This Site-”
BUT …
Utilizing this code …
$roles_to_delete = array('role1','role2','role3');
foreach ( $roles_to_delete as $role ){
$users = get_users( array( 'role' => $role ) );
if ( count( $users ) <= 0 ){
remove_role( $role );
}
else {
foreach ($users as $user){
$userid = $user->ID;
$user_id_role = new WP_User($userid);
$user_id_role->set_role(get_option('default_role'));
}
remove_role( $role );
}
}
This will scroll through each user of the roles you want to delete and set them to your “default role.” Thereby, helping you clean up your plugin when deleted.