2016-05-17 15 views
1

Ich möchte tun, dass nur Administrator (Rolle) mit wp-Admin keine andere Rolle anmelden, andere Anwendungen wie (Editor, Autor) sind Login von Front-End und es funktioniert gut, aber ich möchte nur Administrator kann anmelden über wp-admin.Nur Administrator erlauben Zugriff auf wp-admin und Login?

Ich habe Ultimate Member Plug für Front-End-Login verwendet. Ultimate Plugin link

auch ich habe unten Code für den Zugriff wp-Admin nur für Administrator (Rolle) verwendet, aber es funktioniert nicht.

<?php 
function restrict_admin(){ 
//if not administrator, kill WordPress execution and provide a message 
    if(!current_user_can('administrator')) { 
     wp_die(__('You are not allowed to access this part of the site')); 
    } 
} 
add_action('admin_init', 'restrict_admin', 1); 
?> 
+0

Sie können einfach [dieses Plugin] verwenden (https://wordpress.org/plugins/ remove-Dashboard-Zugriff für Nicht-Admins /). Nach der Installation gehen Sie zu Einstellungen> Dashboard-Zugriff und wählen Sie "Nur Administratoren". – vard

+0

diese dinge funktionieren, aber ich brauche nur administrator (rolle) kann einloggen über wp-admin nicht editor, autor und abonnenten benutzer können sich über wp-admin anmelden. –

+0

Wenn Sie die richtige Option wählen ("nur Administratoren") wie ich Ihnen gesagt habe, haben nur Administratoren Zugriff auf wp-admin ... – vard

Antwort

3

Danke Jungs für Ihre Hilfe zu finden, Ich beantworte meine eigene Frage, hoffe, dass dies auch anderen hilft.

ich diesen Link genannt haben https://developer.wordpress.org/reference/functions/wp_authenticate/

ich dies mit Haken gelöst habenwp_authenticate

add_action('wp_authenticate' , 'check_custom_authentication'); 
    function check_custom_authentication ($username) { 

    $username; 
    $user = new WP_User($username); 
    $user_role_member=$user->roles[0]; 



    if($user_role_member == 'author' || $user_role_member == 'editor'){ 
     session_destroy(); 
     wp_redirect(home_url()); 
     exit; 
    } 

} 
0

Versuchen Sie, diese

add_action('admin_init', 'redirect_non_admin_users'); 
/** 
* Redirect non-admin users to home page 
* 
* This function is attached to the 'admin_init' action hook. 
*/ 
function redirect_non_admin_users() { 
    if (is_admin() !== false) { 
     wp_redirect(home_url()); 
     exit; 
    } 
} 
+0

Ich habe diesen Weg auch versucht, aber es funktioniert nicht. Editor, Autor Benutzer noch anmelden. –

+0

@sameersheikh Ich habe es bearbeitet, versuchen Sie es jetzt.! –

+0

@hermnath immer noch es funktioniert nicht, noch Benutzer des Autors und des Herausgebers sind LOGON. –

0
add_action('admin_init', 'redirect_none_admin'); 

function redirect_none_admin(){ 

if(is_admin() && current_user_can(activate_plugins)){ 
    //... 
}else{ 
    wp_redirect(home_url()); 
} 
} 

ich diese getestet und es funktionierte ich denke, es ist einfach und leicht können Sie Roles and Capabilities hier

Verwandte Themen