Son muchos los motivos por lo que queremos ocultar ciertos menús u opciones del la zona de administración de WordPress, como por ejemplo que algún cliente no entre en ningún sitio que contenga datos sensibles, o por que no queremos que cambie algo por accidente.

Hay varios plugins que hacen esto de manera eficiente, pero a lo mejor tan solo te interesa quitar una o dos opciones. Y esto podemos hacerlo con el siguiente código:

Aquí hay dos partes importantes que son current_user_can y remove_menu_page.

En la primera hay que colocar el slug del rol al que queremos que no vea la página, y la segunda opción es la opción o página a quitar.

Los roles que tiene por defecto de mayor a menor rango son:

  • Super Admin
  • Administrador (slug: ‘administrator’)
  • Editor (slug: ‘editor’)
  • Autor (slug: ‘author’)
  • Colaborador (slug: ‘contributor’)
  • Subscriptor (slug: ‘subscriber’)

Aquí tenéis más información sobre los roles de WordPress: https://codex.wordpress.org/es:Roles_y_Capacidades

En el segundo parámetro colocaremos el slug del menú, que suele ser el nombre del script con el que se ha creado, por ejemplo: edit-comments.php

Por ejemplo, si colocas el cursor sobre la opción herramientas, verás que el enlace es http://www.ejemplo.com/wp-admin/tools.php 

Para eliminar esa opción sería: remove_menu_page( ‘tools.php’ );

A continuación las opciones más comunes:

En la siguiente entrada haremos lo mismo, pero en lugar de limitar las opciones por el rol de usuario, lo haremos para usuarios únicos.