web-dev-qa-db-fra.com

Comment supprimer "Super Admin" de tous les utilisateurs pour ceux qui ne sont pas "Super Admin"?

Je voudrais supprimer le filtre en haut qui dit "Super Admin" pour les utilisateurs qui ne sont pas un "Super Admin". Comment puis-je faire cela?

Cette capture d'écran montre ce dont je parle: enter image description here

2
Matt

Cette liste de filtres en haut des écrans d’administration s’appelle Vues . Vous pouvez gérer les vues à l'aide du filtre views_{$this->screen->id}. Où vous voudriez remplacer {$this->screen->id} par le nom de l'écran que vous souhaitez gérer.

Pour filtrer l'écran Users, vous pouvez essayer les solutions suivantes:

// filter the 'users' views
add_filter( "views_users", "wse57231_filter_user_views");

function wse57231_filter_user_views($views){
  // This assumes the key for the role is 'super_admin'
  // Is the current user not a "super_admin"?

  if( !current_user_can('super_admin')){
    // Remove the super_admin view from the list of views
    unset($views['super_admin']);
  }

  return $views;
}

Références: * https://developer.wordpress.org/reference/hooks/views_this-screen-id/ * http://codex.wordpress.org/Function_Reference/current_user_can

Remarque: Selon les commentaires, Super Admin est un rôle personnalisé que vous avez créé. Ceci est partiellement déroutant car Super Admin est également le nom d’un rôle spécial lors de l’utilisation de WordPress Multisite.

1
sxalexander