Desactivar menús en el administrador de WordPress

En alguna ocasión, podemos encontrarnos que al instalar un nuevo tema o un plugin de WordPress, aparezcan nuevos elementos en el menú de administración que no vamos a utilizar y que resulte interesante ocultarlos.

Al igual que la popular frase “Todos los caminos conducen a Roma”, aquí también tenemos varias opciones para hacerlo.

La primera opción puede ser mediante la instalación de un plugin. Existen bastantes opciones pero hay uno denominado Admin Menu Editor para WordPress que es muy sencillo de utilizar y rápido de gestionar como podeis ver en la imagen adjunta.

La segunda opción, por ejemplo, pasa por editar el fichero functions.php de tu template y añadir el siguiente código:


function remove_menus () {
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');

Lo que conseguimos en este caso es ocultar los enlaces al Escritorio, Posts-Entradas, Multimedia, Enlaces… en nuestra lista de opciones de menú en el panel de administración.

Por ejemplo, para evitar que el usuario pueda acceder a según que menús de administración podemos hacer que solo se muestren los Post, Media y Pages eliminando éstas de la variable $restricted como se indica en este ejemplo:

$restricted = array(__('Dashboard'), __('Links'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));

De esta manera al hacer login en el panel de administración solamente podrá modifcar los artículos, archivos de la galeria de archivos multimedia y las páginas.

Esto se utiliza mucho en entornos donde damos acceso al usuario/cliente al panel de control de administración, pero nosotros como webmasters, no queremos que acceda a otras zonas, evitando que pueda cambiar opciones de configuración que puedan afectar al rendimiento, comportamiento o diseño de la web.