Come nascondere (rimuovere) i menu WordPress nell'area di amministrazione?

  

2
Argomento iniziale

Per un progetto WordPress vorrei nascondere (rimuovere) un particolare menu (o più menu in futuro) nell'area della dashboard di WP (l'area di amministrazione);

Ad esempio: Menu dei messaggi;

Come posso farlo?

Preferirei usare un po' di codice PHP come function, dato che ho un tema figlio e posso modificare il file functions.php.

Grazie

P.s. Di seguito è riportata una schermata del menu wordpress che voglio nascondere:

come nascondere il menu wordpress nel codice functions

1 risposta
1

Nel tema WordPress del bambino, nel file functions.php, aggiungere il seguente codice:

/* 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');

Ho usato il admin_menu Gancio WordPress (linea #16);

Nel vostro caso potete vedere il codice alla riga #4 - per il menu Messaggi.

È inoltre possibile leggere e vedere questo link


Per i menu che sono NON relativi al nucleo WordPress (Pagine, Messaggi, ecc.) è possibile utilizzare anche il metodo admin_init (alla riga 8 sotto) gancio;

In questo caso è necessario digitare la cartella o il file del plugin o del tema;

Vedere lo screenshot di ciò che intendo (vedere la riga 4 per il plugin Yoast WP):

nascondere il plugin o il menu o il tema wordpress

Qui mi sto nascondendo:

  • Menu del tema Divi
  • WP Yoast SEO menu
  • Plugin Registro attività

Ecco l'esempio (vedere i commenti nel codice qui sotto):

/* 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, se si vuole che un particolare utente (nel mio caso amministratore con id=1) NON ESSERE IN GRADO per vedere un menu (generato da un plugin), vedere il codice sottostante (riga #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');
Condividi: