¿Cómo ocultar (eliminar) los menús WordPress en el área de administración?

  

2
Inicio del tema

Para un proyecto WordPress me gustaría ocultar (eliminar) un menú en particular (o menús en el futuro) en el área del tablero de WP (el área de administración);

Por ejemplo: Menú Mensajes;

¿Cómo puedo hacerlo?

Preferiría usar algún código PHP como function ya que tengo child theme y puedo modilficar el archivo functions.php para ello.

Gracias

P.d. Abajo hay una captura de pantalla del menú wordpress que quiero ocultar:

cómo ocultar el menú wordpress en el código functions

1 respuesta
1

En el tema WordPress de su hijo, en el archivo functions.php añada el siguiente código:

/* Remove menus from the WordPress dashboard*/
function wpdocs_remove_menus() {
    remove_menu_page('index.php'); //Dashboard
    remove_menu_page('edit.php'); //Posts
    remove_menu_page('upload.php'); //Media
    remove_menu_page('edit.php?post_type=page'); //Pages
    remove_menu_page('edit-comments.php'); //Comments
    remove_menu_page('themes.php'); //Appearance
    remove_menu_page('plugins.php'); //Plugins
    remove_menu_page('users.php'); //Users
    remove_menu_page('tools.php'); //Tools
    remove_menu_page('options-general.php'); //Settings
    remove_menu_page('edit.php?post_type=project'); //Projects
}
 
add_action('admin_menu', 'wpdocs_remove_menus');

He utilizado el admin_menu Gancho WordPress (línea #16);

En tu caso puedes ver el código en la línea #4 - para el menú Posts.

También puede ver este enlace


Para los menús NO relacionadas con el núcleo WordPress (Páginas, Mensajes, etc.) también puede utilizar el botón admin_init (en la línea 8 de abajo) gancho;

En ese caso debes escribir la carpeta o el archivo del plugin o del tema;

Ver la captura de pantalla de lo que quiero decir (ver la línea 4 para el plugin Yoast WP):

ocultar wordpress plugin o menú o tema

Aquí me escondo:

  • Menú del tema Divi
  • Menú WP Yoast SEO
  • Plugin de registro de actividad

Este es el ejemplo (ver los comentarios en el código a continuación):

/* Hide plugin/theme/menu in the WordPress dashboard area */
function wpdocs_remove_menusTwo() {
    remove_menu_page('et_divi_options'); //Divi WP Theme
    remove_menu_page('wpseo_dashboard'); //Yoast SEO WP Plugin
    remove_menu_page('activity_log_page'); //Activity Log WP Plugin
}
 
add_action('admin_init', 'wpdocs_remove_menusTwo');

BTW, si quieres que un usuario en particular (en mi caso administrador con id=1) NO PODER para ver un menú (generado por un plugin), véase el código siguiente (véase la línea #3):

/* Hide plugin/theme/menu in the WordPress dashboard area */
function wpdocs_remove_menusTwo() {
    if (get_current_user_id() == 1) {
        remove_menu_page('activity_log_page'); //Activity Log WP Plugin
    }
}
 
add_action('admin_init', 'wpdocs_remove_menusTwo');
Compartir: