web-dev-qa-db-de.com

Wie entferne ich den Dashboard-Zugriff von bestimmten Benutzerrollen?

Ich möchte verhindern, dass bestimmte Benutzerrollen überhaupt auf das Dashboard http://www.openeye.net/wp-admin/ zugreifen. Ich habe Benutzerprofile auf eine neue Seite verschoben und neu gestaltet, die auf der Site angezeigt werden kann. Wie würde ich das machen?

10

So sperren Sie Abonnenten und Mitwirkende aus dem Administrator:

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

Hoffentlich hilft das. Alle Rollen weisen dem Benutzer eine Funktion zu, die dem Namen dieser Rolle entspricht, sodass Sie einen beliebigen Rollennamen als Funktion verwenden können.

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

Ja, Sie müssten die Funktion current_user_can ($ capacity) verwenden. Hier ist die offizielle WordPress-Referenz: https://codex.wordpress.org/Function_Reference/current_user_can

0
Oli