Comment masquer (supprimer) les menus WordPress dans la zone d'administration ?

  

2
Début du sujet

Dans le cadre d'un projet WordPress, j'aimerais cacher (supprimer) un menu particulier (ou plusieurs menus à l'avenir) dans la zone du tableau de bord de WP (la zone d'administration) ;

Par exemple : Menu Postes;

Comment faire ?

Je préférerais utiliser un code PHP comme function car j'ai un thème enfant et je peux modifier le fichier functions.php.

Remerciements

P.s. Ci-dessous, une capture d'écran du menu wordpress que je veux cacher :

comment cacher le menu wordpress dans le code functions

1 Réponse
1

Dans le thème WordPress de votre enfant, dans le fichier functions.php, ajoutez le code suivant :

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

J'ai utilisé le menu_administrateur Crochet WordPress (ligne #16) ;

Dans votre cas, vous pouvez voir le code sur la ligne #4 - pour le menu Posts.

Vous pouvez également lire et voir ce lien


Pour les menus qui sont PAS liées au noyau WordPress (Pages, Posts, etc.), vous pouvez également utiliser la fonction admin_init (à la ligne 8 ci-dessous) ;

Dans ce cas, vous devez taper le dossier ou le fichier du plugin ou du thème ;

Voir la capture d'écran de ce que je veux dire (voir la ligne 4 pour le plugin Yoast WP) :

cacher le plugin, le menu ou le thème de wordpress

Ici, je me cache :

  • Menu du thème Divi
  • WP Yoast SEO menu
  • Plugin journal d'activité

Voici l'exemple (voir les commentaires dans le code ci-dessous):

/* 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 vous souhaitez qu'un utilisateur particulier (Dans mon cas, il s'agit d'un administrateur avec id=1) NE PAS ÊTRE CAPABLE pour voir un menu (généré par un plugin), voir le code ci-dessous (voir ligne #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');
Partager :