WordPress es un sistema de gestión de contenido muy popular que ofrece una gran variedad de funciones y características para administrar y personalizar un sitio web.
Entre las funcionalidades de WordPress se encuentran los roles de usuario, que permiten definir diferentes niveles de acceso y permisos para los usuarios de un sitio web.
Los roles de usuario son una parte esencial de la gestión de usuarios de WordPress, y se pueden crear y gestionar tanto desde el panel de administración de WordPress como desde la base de datos directamente.
En primer lugar, para poder agregar nuevos roles de usuario desde la base de datos, es necesario tener acceso a ella, ya sea mediante un cliente de MySQL como phpMyAdmin o mediante la línea de comandos de MySQL.
Una vez dentro de la base de datos de WordPress, el siguiente paso es revisar si existe la tabla wp_user_roles (wp_ por tu prefijo)
Si la tabla wp_user_roles no existe en la base de datos de WordPress, puedes crearla manualmente siguiendo estos pasos:
- Accede a tu base de datos utilizando una herramienta como phpMyAdmin.
- Selecciona la base de datos de WordPress que estás utilizando.
- Haz clic en la pestaña «SQL» en la parte superior de la pantalla.
- Copia y pega el siguiente código SQL en la ventana de consulta SQL:
CREATE TABLE wp_user_roles (
ID
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
name
varchar(60) NOT NULL DEFAULT '',
capabilities
longtext NOT NULL,
PRIMARY KEY (ID
),
UNIQUE KEY name
(name
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Haz clic en el botón «Ejecutar» para ejecutar la consulta SQL y crear la tabla wp_user_roles.
Cómo insertar roles de usuario en la tabla wp_user_roles
Solo tienes que pegar este código en el archivo functions.php
de tu tema o en un plugin para insertar snippet personalizado.
// Agrega los roles nativos de WordPress utilizando la función add_role()
add_role( 'editor', __( 'Editor' ), array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
'edit_pages' => true,
'edit_others_pages' => true,
'edit_published_pages' => true,
'publish_pages' => true,
'delete_pages' => true,
'delete_others_pages' => true,
'delete_published_pages' => true,
'edit_published_posts' => true,
'edit_others_posts' => true,
'edit_private_posts' => true,
'publish_posts' => true,
'delete_published_posts' => true,
'delete_others_posts' => true,
'read_private_posts' => true,
'manage_categories' => true,
'moderate_comments' => true,
'edit_comment' => true,
'delete_comment' => true,
'manage_links' => true,
'edit_users' => true,
'create_users' => true,
'delete_users' => true,
'unfiltered_html' => true,
'upload_files' => true
) );
add_role( 'author', __( 'Author' ), array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
'publish_posts' => true,
'read_private_posts' => true,
'upload_files' => true
) );
add_role( 'contributor', __( 'Contributor' ), array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
'read_private_posts' => true
) );
add_role( 'subscriber', __( 'Subscriber' ), array(
'read' => true
) );
add_role( 'administrator', __( 'Administrator' ), array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
'edit_pages' => true,
'delete_pages' => true,
'manage_options' => true,
'edit_others_posts' => true,
'publish_posts' => true,
'edit_themes' => true,
'install_plugins' => true,
'update_plugin' => true,
'update_core' => true,
'upload_files' => true,
'edit_users' => true,
'delete_users' => true,
'create_users' => true,
'unfiltered_html' => true
) );
Luego guarda los cambios y simplemente carga tu sitio web por ejemplo ve a la página de inicio y los roles se agregarán automáticamente a tu base de datos. Este código agregará los roles nativos de WordPress (Administrador, editor, author, contributor y subscriber) a tu sitio web. Puedes modificar las capacidades asignadas a cada rol según tus necesidades,comprueba que se hayan creado correctamente todos los roles y borra el código de functions.php