Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
editor menu

Permite administrar los menús a un usuario con rol Editor

Como sabrás, en WordPress existe una gestión de usuarios con diferentes niveles de permisos o capabilities.

Por defecto la gestión de menús desde el panel de administración de WordPress está restringida a usuarios con rol administrador. En algunos casos, te habrás encontrado con la necesidad o la petición de un cliente para que los usuarios con rol Editor puedan tener acceso a la gestión de menús.

Vamos a ver cómo dar permiso a los usuarios con rol Editor para gestionar los menús, con apenas unas líneas de código. Lo primero es asignarle la capability necesaria, que para este caso es edit_theme_options. Esta capability o permiso, da acceso a los usuarios que la tengan a:

 

Para asignar una capability a un rol determinado, utilizaremos el método add_cap() perteneciente al objeto WP_Role que nos devuelve la función get_role():

Simplemente obtenemos el rol editor, y le añadimos la capability edit_theme_options.

¡IMPORTANTE!

El método add_cap almacena en base de datos las capabilities que asignamos a los roles. Por lo tanto, es aconsejable utilizar esto una sóla vez. Una vez ejecutado este código puedes eliminarlo, o mejor, puedes utilizarlo para ejecutar en el hook de activacion de temas y plugins. Si el día de mañana quieres dar marcha atrás, utiliza el método remove_cap.

 

Elimina el resto de opciones del menú apariencia

Hasta aquí todo bien. Pero ahora un usuario con rol editor tiene acceso a todo el menú de apariencia. Veamos cómo darle acceso únicamente a la gestión de menús, capando el resto de opciones:

Como ves, actuamos sobre el hook admin_menu. Comprobamos que el rol actual no sea administrador, y lo que hacemos es eliminar las subpáginas del menú de Apariencia. De este modo, un usuario con rol editor sólo tendrá acceso a la edición de menús.

Puede que también te interese

Cómo crear un formulario de registro personalizado en WordPress
Cómo crear un formulario de registro personalizado en WordPress
En entradas anteriores hemos visto cómo crear formularios de log-in / log-out personalizados, y cómo agregar campos personalizados al perfil de usuario de WordPress tanto…
Cómo desactivar Gutenberg cuando salga WordPress 5.0
Cómo desactivar Gutenberg cuando salga WordPress 5.0
La versión 5.0 de WordPress está a la vuelta de la esquina, prevista para finales de Agosto. Como ya sabrás a esta altura de la…
Cómo mover los scripts al footer en WordPress
Cómo mover los scripts al footer en WordPress
En esta entrada vamos a ver cómo mover o cargar los archivos JS en el footer de WordPress. Si miramos el código fuente de nuestro sitio…
Añade el código de Google Analytics a tus páginas AMP en WordPress
Añade el código de Google Analytics a tus páginas AMP en WordPress
Las páginas AMP cada día adquieren mayor importancia por su relevancia en los resultados de búsqueda en dispositivos móviles. Hace unos meses escribí un post…