Masquer des menus de l’administration WordPress selon le rôle (avec ou sans code)

Masquer des menus de l’administration WordPress selon le rôle (avec ou sans code)
En brefLa fonction remove_menu_page() masque un menu de l’administration, mais la page reste accessible si l’on connaît son adresse. Pour simplifier vraiment l’admin d’un client ou d’un rédacteur, il faut aussi bloquer l’accès direct et masquer les notifications. C’est ce que fait gratuitement Admin Menu Control.

Vous livrez un site à un client, vous ouvrez un compte à un rédacteur, vous donnez accès à un bénévole : il n’a besoin que de trois menus, pas de trente. Une administration épurée, c’est moins d’erreurs et moins d’appels au support.

Méthode 1 : avec du code

Dans le functions.php de votre thème enfant (ou mieux, dans une petite extension), WordPress fournit remove_menu_page() :

add_action( 'admin_menu', function () {
    if ( current_user_can( 'manage_options' ) ) {
        return; // les administrateurs gardent tout
    }
    remove_menu_page( 'tools.php' );        // Outils
    remove_menu_page( 'edit-comments.php' ); // Commentaires
}, 999 );

Les limites de cette méthode

  • Le menu disparaît, mais la page reste ouverte à qui tape son adresse : ce n’est pas une restriction d’accès.
  • Il faut connaître l’identifiant de chaque menu, y compris ceux ajoutés par les extensions.
  • Les bandeaux et pop-up des extensions restent affichés.
  • Chaque changement passe par le code.

Méthode 2 : sans code, avec Admin Menu Control

Admin Menu Control est une extension gratuite qui fait la même chose avec des cases à cocher, et va plus loin :

  • Menus par rôle : chaque rôle s’affiche en accordéon, vous cochez les menus et sous-menus visibles ;
  • accès direct bloqué : une page masquée affiche « Accès refusé », même avec son adresse ;
  • notifications masquées : bandeaux des extensions, alertes de mise à jour, widgets du tableau de bord ;
  • tableau de bord bloqué pour certains rôles ou comptes, avec redirection vers l’accueil, « Mon compte » WooCommerce ou la page de votre choix ;
  • gestion des rôles : dupliquer un rôle ou le supprimer en réattribuant ses utilisateurs.

Sécurité : les comptes qui peuvent gérer le site (capacité manage_options) ne sont jamais bloqués, pour éviter de vous enfermer dehors.

Quelle méthode choisir ?

Code Admin Menu Control
Masquer un menu Oui Oui
Bloquer l’accès par l’adresse Non, à coder en plus Oui
Masquer les notifications À coder Oui
Réglage par rôle sans développeur Non Oui
Prix Gratuit Gratuit

Une admin épurée en cinq minutes

Admin Menu Control est gratuit et pensé pour les agences qui livrent des sites à leurs clients.

Découvrir Admin Menu Control →

Questions fréquentes

remove_menu_page() empêche-t-il l’accès à la page ?

Non, il retire seulement l’entrée du menu. La page reste accessible par son adresse ; il faut une vérification de droits en plus.

Peut-on masquer les bandeaux des extensions ?

Oui, Admin Menu Control masque les bandeaux et pop-up des extensions et les informations de WordPress, rôle par rôle.

Risque-t-on de bloquer l’administrateur ?

Non, les comptes qui peuvent gérer le site ne sont jamais bloqués.

Peut-on rediriger un rôle hors du tableau de bord ?

Oui, vers l’accueil, la page « Mon compte » de WooCommerce ou une page de votre choix.

La boîte à outils CC Addons

Des plugins WordPress simples, utiles et en français.

Factures et documents PDF, calendrier de réservation, administration par rôle : les bases sont gratuites, les add-ons Pro font le reste.

À lire aussi