
WordPress trae cinco roles de fábrica: Administrador, Editor, Autor, Colaborador y Suscriptor, cada uno con un conjunto de capacidades (permisos como edit_posts, publish_posts o manage_options).
Muchos plugins agregan los suyos: WooCommerce crea Gestor de la tienda y Cliente; los plugins de SEO, de formularios, de membresías o de cursos crean roles y capacidades propias. El problema es que, al desinstalarlos, muchos no los borran. Con los años, la base de datos acumula restos.
¿Por qué importa?
- Seguridad: una capacidad poderosa (como
edit_usersomanage_options) asignada a un rol personalizado olvidado puede dar a alguien más acceso del que crees. - Confusión: la lista de roles al crear un usuario muestra opciones que ya no existen en la práctica.
- Errores: algunos plugins nuevos fallan si encuentran un rol con su mismo nombre de otra instalación anterior.
Paso 1: ver qué hay
Con WP-CLI:
wp role list
Muestra el nombre y el identificador de cada rol. Para ver las capacidades de uno:
wp cap list administrator
wp cap list editor
Y para saber cuántos usuarios tiene cada rol:
wp user list --role=nombre_del_rol --format=count
Paso 2: detectar los restos
Busca en la lista:
- Roles de plugins que ya no tienes instalados. El identificador suele delatar al plugin (
wpseo_manager,tutor_instructor,wpforms_manager…). - Capacidades raras en los roles de WordPress, sobre todo en Administrador y Editor. Por ejemplo,
manage_woocommerceen un sitio que ya no tiene WooCommerce, o capacidades con prefijos de plugins antiguos.
Antes de borrar algo, búscalo en tus plugins activos: si alguno usa esa capacidad, quitarla rompería una función. grep -r "nombre_capacidad" wp-content/plugins wp-content/themes te dice si alguien la usa.
Paso 3: limpiar
Haz un respaldo de la base de datos antes (wp db export). Los roles y capacidades se guardan en una sola opción (wp_user_roles) y un error puede dejar a usuarios sin permisos.
Quitar capacidades sobrantes de un rol
wp cap remove editor manage_woocommerce view_woocommerce_reports
Borrar un rol completo
Primero, mueve a sus usuarios a otro rol, o se quedarán sin rol (sin acceso a nada):
wp user list --role=rol_viejo --field=ID | xargs -I % wp user set-role % subscriber
wp role delete rol_viejo
Restaurar un rol de WordPress a su estado original
Si un rol de fábrica quedó lleno de capacidades extrañas, WP-CLI puede devolverlo a como viene en WordPress:
wp role reset editor
No uses wp role reset --all en un sitio con WooCommerce u otros plugins activos: borraría también las capacidades que ellos agregaron a los roles de fábrica (por ejemplo, las que WooCommerce da al Administrador para gestionar la tienda). Si lo hiciste por error, desactiva y vuelve a activar esos plugins para que las recreen.
Paso 4: comprobar
- Entra con un usuario de cada rol que tocaste (o usa un plugin para cambiar de usuario temporalmente) y revisa que pueda hacer lo que debe.
- Revisa que tu propio usuario administrador siga viendo todos los menús.
Si programas plugins: limpia lo tuyo
Si tu plugin crea roles o capacidades, bórralos al desinstalar (no al desactivar), en el archivo uninstall.php:
<?php
defined( 'WP_UNINSTALL_PLUGIN' ) || exit;
remove_role( 'cwp_instructor' );
foreach ( array( 'administrator', 'editor' ) as $rol ) {
$objeto = get_role( $rol );
if ( $objeto ) {
$objeto->remove_cap( 'cwp_gestionar_cursos' );
}
}
¿Encontraste roles que no sabes de dónde salieron? Comparte su identificador en el foro y averiguamos de qué plugin son.





