web-dev-qa-db-fra.com

Afficher la barre d'administration uniquement pour certains rôles UTILISATEURS

J'ai 4 rôles d'utilisateurs sur ma plateforme wordpress (role1, role2, role3, role4)

Je cherche à montrer la barre supérieure avant-end uniquement pour Role1 Role2.

comment puis-je ajouter une condition sur ce code pour l'afficher uniquement pour ces 2 rôles?

function wpc_show_admin_bar() {
  return true;
}
add_filter('show_admin_bar' , 'wpc_show_admin_bar');

merci

2
sampaii

Vous pouvez désactiver la barre d'administration via la fonction:

show_admin_bar(false);

En gardant cela à l'esprit, nous pouvons nous connecter à after_setup_theme et masquer la barre d'administration pour tous les utilisateurs sauf administrator et contributor:

function cc_wpse_278096_disable_admin_bar() {
   if (current_user_can('administrator') || current_user_can('contributor') ) {
     // user can view admin bar
     show_admin_bar(true); // this line isn't essentially needed by default...
   } else {
     // hide admin bar
     show_admin_bar(false);
   }
}
add_action('after_setup_theme', 'cc_wpse_278096_disable_admin_bar');

J'utilise seulement administrator et contributor comme exemple. Vous pouvez bien sûr changer cela et ajouter plus de rôles.

2
Christine Cooper