Vorrei impedire a determinati ruoli utente di accedere alla dashboard http://www.openeye.net/wp-admin/ . Ho spostato e rinnovato i profili utente in una nuova pagina visualizzabile sul sito. Come potrei fare per fare questo?
Vorrei impedire a determinati ruoli utente di accedere alla dashboard http://www.openeye.net/wp-admin/ . Ho spostato e rinnovato i profili utente in una nuova pagina visualizzabile sul sito. Come potrei fare per fare questo?
Risposte:
Per bloccare abbonati e collaboratori fuori dall'amministratore:
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');
Spero che aiuti. Tutti i ruoli offrono all'utente una funzionalità che è il nome di quel ruolo, in modo da poter utilizzare qualsiasi nome di ruolo come funzionalità.
//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');
Sì, è necessario utilizzare la funzione current_user_can ($ capacity). Ecco il riferimento ufficiale di WordPress: https://codex.wordpress.org/Function_Reference/current_user_can