Remover los roles de usuario en WordPress

Luego de investigar un poco, me encontré con la función «remove_role» en Wordpress, que precisamente se encarga de eliminar los roles que uno designe.

WordPress por defecto tiene los siguientes roles: Administrador, editor, autor, colaborador y suscriptor.

Cada uno de estos roles, tienen, por supuesto, diversos y diferenciados niveles de acceso a la zona de administración del gestor de contenidos.

Resulta que luego de instalar algunos complementos, entre ellos BuddyPress y otros para hacer pruebas, crean sus propios roles para que sus funciones se ejecuten correctamente.

Pero, luego de desinstalar dichos complementos, los roles, previamente creados, seguían apareciendo en el panel de usuarios, asignando a cada uno de estos, los roles correspondientes.

Por ejemplo, el administrador tenía el rol de «keymaster», otros usuarios, tenían el rol de «moderator», etc.

Además, había otros roles que no estaban asignados, como por ejemplo «Manage Shema Options» y «blocked», de otro de los complementos instalados.

Entonces, ¿Cómo hacemos para remover roles de usuario en WordPress de los complementos desinstalados?

Luego de investigar un poco, me encontré con la función «remove_role»[1] en WordPress, que precisamente se encarga de eliminar los roles que uno designe.

En mi caso particular, tenía que eliminar los roles del complemento BuddyPress, por lo que, en tal caso, apliqué el siguiente código:

$wps_roles = new WP_Roles();
$wps_roles-> remove_role("bbp_role");
$wps_roles-> remove_role("bbp_blocked");
$wps_roles-> remove_role("bbp_keymaster");
$wps_roles-> remove_role("bbp_moderator");
$wps_roles-> remove_role("bbp_participant");
$wps_roles-> remove_role("bbp_spectator");

Y para remover el rol «Manage Shema Options», agregué:

$wps_roles-> remove_role("manage_schema_options");

El código lo ponemos en nuestro complemento de código personalizado o en el archivo functions.php de nuestro tema hijo. Ejecutamos, la página de inicio y se hace la magia.

Los roles que hemos eliminado ya no están asignados a los usuarios, ni tampoco aparecen en el campo para seleccionar roles.

Solo una precisión, por lo que pude ver, en la base de datos, los roles asignados a los usuarios se siguen visualizando.

[1] https://developer.wordpress.org/reference/functions/remove_role/

5/5 - (6 votos)