Crear nuevos roles de usuario

Cómo podemos crear nuevos roles de usuario

En esta ocasión, aprenderemos a crear nuevos roles de usuario, es decir, nuevas formas en las que los usuarios registrados pueden interactuar con nuestra web.

Por defecto, WordPress dispone de los siguientes roles de usuario:

  • Suscriptor. La única ventaja de este rol de usuario es que puede responder o dejar comentarios en cualquier post de tu blog sin necesidad de crear un nuevo registro.
  • Colaborador. Tan solo pueden subir su propio contenido, pero necesita a un administrador o un editor para poder ser publicada.
  • Autor. Este usuario puede subir archivos y crear, editar, publicar o eliminar sus propias entradas.
  • Editor. Tiene la capacidad de crear, modificar o borrar entradas y páginas que hayan sido creadas por él mismo o por cualquier otro rol de usuario.
  • Administrador. Este rol de usuario no tiene ninguna limitación en WordPress. Es el único rol de usuario que tiene todas las capacidades y puede hacer cualquier cosa dentro de nuestro WordPress.
Los Roles de usuario
Los Roles de usuario

¿Qué ocurre si necesitamos más roles de usuario?

Hemos visto los roles de usuario con los que cuenta WordPress por defecto, pero si necesitamos crear un rol específico, por ejemplo ayudante, para aplicárselo a una persona que nos ayude en nuestra web, que tenga permitido hacer ciertas cosas y otras no, podremos hacerlo de dos formas:

  1. Mediante código.
  2. Mediante el uso de un plugin.

Nosotros, como siempre, vamos a hacerlo mediante código.

Código que vamos a utilizar para crear nuevos roles de usuario

En esta ocasión utilizaremos un código un poquito largo y con muchas “cosas raras”, pero para nada difícil. El código será algo parecido a este:

Este contenido ha sido restringido solo para usuarios conectados. Por favor, inicia sesión para ver este contenido.
add_role(
'rol_personalizado', __(
'Rol personalizado'),
array(
'read' => true, // true permite esta capacidad
'edit_posts' => false, // impide al usuario editar sus propias publicaciones
'edit_pages' => true, // permite al usuario editar páginas
'edit_others_posts' => false, // impide al usuario editar otras publicaciones, no solo las suyas
'create_posts' => false, // impide al usuario crear nuevas publicaciones
'manage_categories' => false, // impide al usuario administrar categorías de publicaciones
'publish_posts' => false, // impide al usuario publicar, de lo contrario, las publicaciones permanecen en modo borrador
'edit_themes' => false, // false niega esta capacidad, el usuario no puede editar su tema
'install_plugins' => false, // impide al usuario agregar nuevos plugins
'update_plugin' => false, // impide al usuario actualizar ningún plugin
'update_core' => false // impide al usuario realizar actualizaciones del core
)
);
Este contenido ha sido restringido solo para usuarios conectados. Por favor, inicia sesión para ver este contenido.

Como puedes ver, hay muchas cosas a tener en cuenta, pero el código en sí no es complejo. Tan solo tienes que cambiar las palabras true o false para permitir o impedir realizar la acción correspondiente.

Y… ¿dónde podemos colocar este código?

Como ya sabemos, porque viene siendo habitual colocarlo siempre en los mismos sitios, este código podemos pegarlo en el archivo functions.php de nuestro child theme, o pegarlo en nuestro plugin de snippets. Ya sabes que esta última es la opción que te aconsejo.

También podemos crear nuevos roles de usuario mediante el uso de un plugin. En este caso, te recomiendo el uso del plugin User Role Editor, pero en este caso, te dejo a ti que lo estudies y lo utilices por tu cuenta 🙂

 

Deja que WordPress trabaje por ti, utiliza código.