web-dev-qa-db-fra.com

Comment puis-je supprimer l'accès au tableau de bord de rôles d'utilisateur spécifiques?

J'aimerais empêcher certains rôles d'utilisateur d'accéder au tableau de bord http://www.openeye.net/wp-admin/ du tout. J'ai déplacé et redéfini les profils d'utilisateurs sur une nouvelle page visible sur le site. Comment pourrais-je m'y prendre?

10
Zach Shallbetter

Pour verrouiller les abonnés et les contributeurs en dehors de l’administrateur:

function wpse23007_redirect(){
  if( is_admin() && !defined('DOING_AJAX') && ( current_user_can('subscriber') || current_user_can('contributor') ) ){
    wp_redirect(home_url());
    exit;
  }
}
add_action('init','wpse23007_redirect');

J'espère que cela pourra aider. Tous les rôles donnent à l'utilisateur une capacité qui est le nom de ce rôle. Vous pouvez donc utiliser n'importe quel nom de rôle comme capacité.

20
John P Bloch
//If User Roll is Subscriber, It can not login in Dashboard 
function wpse23007_redirect()
{
    if( is_admin() && !defined('DOING_AJAX') && current_user_can('subscriber') )
    {
        wp_logout();
        wp_redirect(home_url());
        exit;
    }
}
add_action('init','wpse23007_redirect');
1
Ganpat Rabari

Oui, vous devrez utiliser la fonction current_user_can ($ capacity). Voici la référence officielle de WordPress: https://codex.wordpress.org/Function_Reference/current_user_can

0
Oli