Bloquer l’accès au back-office de WordPress pour un rôle utilisateur

Mis à jour le :

Vous disposez de comptes utilisateurs mais vous ne souhaitez pas que ces derniers accèdent aux back-office de WordPress ?

Le recours à ces quelques lignes de code vous permettra d’exclure les utilisateurs avec le rôle d’abonné de votre administration.

De nombreux sites WordPress autorisent l’enregistrement de comptes utilisateurs avec des usages exclusivement limités au front-office : espace client, zone réservée aux membres, forum… les cas sont multiples et variés pour justifier un tel blocage du back-office.

L’exemple ci-dessous exclut les abonnés mais à vous de l’adapter selon vos besoins :

/* Bloquer accès aux non-admins */
function wpc_block_dashboard() {
$file = basename($_SERVER['PHP_SELF']);
if (is_user_logged_in() && is_admin() && !current_user_can('edit_posts') && $file != 'admin-ajax.php') {
wp_redirect( home_url() );
exit();
}
}
add_action('init', 'wpc_block_dashboard');

Vous pouvez modifier la capacité en changeant edit_posts par celle de votre choix conformément au codex.

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

9 réponses
  1. Avatar de THOMASLENE
    THOMASLENE

    Bonjour,
    Super pour le code c’est ce que je cherchais, sans passer par un Plugin : mais question, je l’ajoute dans quel fichier wp-config.php ou ailleurs ?
    D’avance merci

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Bonjour,

      dans le fichier functions.php du thème par exemple. 😉

  2. Avatar de Aurélien Denis
    Aurélien Denis

    Non pas si on fait un mu-plugin.

  3. Avatar de realisite
    realisite

    Petite question:

    Ece que une M.A.J de WordPress fait sauter ce paramètre?…

    Merci

  4. Avatar de Jaques
    Jaques

    Hello,

    Merci pour vos articles, je vois ai récemment envoyé un mail pour savoir comment vous avez fait pour faire dépasser votre logo de la barre de menu. Je ne trouve pas comment faire : est ce un thème, un plugin ou autre chose ?

    Merci beaucoup 🙂

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Répondu, désolé je ne l’avais pas vu passer !

  5. Avatar de David Magny
    David Magny

    Vraiment intéressant ! Ayant moi-même un blogue communautaire, c’est toujours dérangeant lorsque les utilisateurs qui connaissent un peu WordPress passe par le back office. Merci beaucoup pour ce partage ! 😀

  6. Avatar de alamedagraphik
    alamedagraphik

    C’est une très bonne info,
    depuis le temps que je cherchais à résoudre ce problème.
    Car même en bloquant l’accès par htaccess cela n’était efficace.
    Merci

  7. Avatar de Li-An
    Li-An

    Ah, pas mal… Je note, ça va sûrement servir.