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 eliminar la hoja de estilos de Gutenberg si no lo utilizas tras WordPress 5.0
Cómo eliminar la hoja de estilos de Gutenberg si no lo utilizas tras WordPress 5.0
¿Has actualizado a WordPress 5.0 pero tienes desactivado Gutenberg? Imagino que será el caso de mucha gente, que esperará a darle un tiempo, hasta que…
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
Mejora la puntuación de Google PageSpeed Insights: Eliminar el JavaScript que bloquea la visualización del contenido de la mitad superior de la página
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…
Cómo añadir un botón para donaciones en tu plugin
Cómo añadir un botón para donaciones en tu plugin
En el artículo anterior vimos cómo añadir un enlace para los ajustes en el listado de plugins. En esta entrada vamos a ver cómo añadir…
Cómo personalizar el logo y el enlace del login de WordPress
Cómo personalizar el logo y el enlace del login de WordPress
Éste es el aspecto que presenta la pantalla de login para acceder al back-end de nuestro WordPress: Es muy común que algún cliente nos pida…