Limiter l’acces au tableau de bord wordpress
Comment limiter l’accès au tableau de bord (administration) de wordpress à certains rôles? Il s’agit des rôles qui n’ont nul besoin d’accéder au tableau de bord.
Vous avez un site internet personnel ou d’entreprise et vous ne souhaitez pas que tout le monde accède à votre administration, en saisissant juste votre-site.fr/wp-admin dans la barre de recherche. C’est un plus pour la sécurité de votre site.
Les raisons qui peuvent vous pousser à limiter l’accès au tableau de bord:
- Vous acceptez les inscriptions, mais avec un rôle limité: abonné;
- Vos abonnés n’ont vraiment pas besoin d’accéder au tableau de bord, ils peuvent déjà tout faire en frond-end (partie public du site);
- Votre site internet n’accepte que deux rôles:
- Administrateur et Editeur;
- Administrateur et Contributeur;
- Administrateur et Abonné;
- Administrateur et Auteur.
Limiter l’accès au tableau de bord à certains rôles comme Administration et Auteur (exemple)
Pour utiliser cette astuce vous devez utiliser le fichier fonctions.php de votre thème enfant.
Petit rappel: le thème enfant permet de modifier votre thème principal sans courir le risque de perdre vos modifications à la prochaine mise à jour. Voyez comment créer un thème enfant en suivant ce lien.
Ouvrez donc votre fonctions.php du thème enfant et ajoutez ce bout de code:
add_action ('admin_init »,« gkp_restrict_access_administration'); fonction gkp_restrict_access_administration () { if (! current_user_can ('administrateur') &&! current_user_can ('author')) { wp_redirect (get_bloginfo ('url')); exit (); } }
Tout ceux qui n’auront le droit d’accès au tableau de bord de votre installation wordpress et qui essaieront d’y accéder seront automatiquement redirigés vers la page d’accueil.
En ajoutant ce bout de code, seuls ces deux rôles définis auront accès à la partie administrative de votre site web.
Si vous souhaitez simplement que vos abonnés n’aient pas accès à votre administration, utiliser le premier code proposé par son auteur sur geekpress.fr.
WordPress & Buddypress
Si vous utilisez Buddypress, vous pouvez essayer le code ci-dessous:
function sushil_return_false() {
global $current_user;
// return "false" for all users that do not have the "administrator" role
if( !in_array('administrator',$current_user->roles) ) {
return false;
} else {
return true;
}
}
add_filter( 'show_admin_bar', 'sushil_return_false' );
Voir aussi:
- Les sites les plus utiles aux nouveaux utilisateurs de wordpress
- Les meilleurs annuaires gratuits pour wordpress.
Je sais que la majorité des sujets mis en ligne sur bantoozone.com sont généralement très clairs et ne nécessitent souvent pas de réactions, mais je vous prie de partager cet article si vous l’avez aimé, ou de vous abonner à une des pages sociaux du site pour savoir plein d’autres choses sur WordPress. Merci.
Bonjour,
Petit soucis avec ce code, cela fonctionne très bien, les membres n’ont pas accès à la page ADMIN, en revanche cela créé une incompatibilité si notre site possède le plugin buddypress . L’envoie de message privés entre membres n’est plus possible.
Cordialement,
Bonjour, essayez le deuxième code dans l’article mis à jour.