Je voudrais 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 utilisateur vers une nouvelle page consultable sur le site. Comment pourrais-je procéder?
Je voudrais 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 utilisateur vers une nouvelle page consultable sur le site. Comment pourrais-je procéder?
Réponses:
Pour verrouiller les abonnés et les contributeurs hors 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 ça t'as aidé. 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é.
//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');
Oui, vous devez utiliser la fonction current_user_can ($ capacity). Voici la référence officielle de WordPress: https://codex.wordpress.org/Function_Reference/current_user_can