Vérifier l’accès à une page

Pour vérifier les droits d’accès à une page, le hook idéal est template_redirect. Cette action est appelée juste avant que WordPress détermine quel modèle de page charger.

Il suffit donc d’intégrer une contrainte dans cet appel si l’accès à la page en cours d’affichage doit être protégé :

Copier

Dans cet exemple, j’autorise uniquement aux administrateurs l’accès à la page dont le slug est page-administrateur.

Si l’accès est refusé, l’internaute est redirigé vers la page d’accueil. J’ai volontairement utilisé wp_safe_redirect au lieu de wp_redirect afin que WordPress vérifie si la redirection est faite vers une URL appartenant au nom de domaine du site. L’appel à wp_safe_redirect est suivi par exit(); de manière à stopper le script dans le cas où WordPress ignorerait l’entête Location: lors de la redirection. Sans rentrer dans les détails, disons que cela est une bonne manière de faire afin d’éviter des erreurs de fonctionnement.

Quelques liens pour approfondir

Laisser un commentaire