Exécuter du PHP seulement si l’utilisateur est administrateur WordPress

Utilisez cette fonction PHP sur WordPress pour que votre code ne soit visible que par vous (l'administrateur du site).

Travailler sur un code PHP qui ne peut être visible que pour l’administrateur du site WordPress, qui est également le développeur, permet notamment de continuer à travailler sur un site en production sans que les autres internautes ne puissent le voir. Le temps par exemple de bien vérifier que tout fonctionne bien avant la mise en production, sans pour autant devoir développer le code sur une version de préproduction en amont, ce qui nécessiterait plus de manipulations.

FAQ

Quelle différence entre current_user_can('manage_options') et is_admin() dans WordPress ?

Elles n'ont rien à voir. current_user_can('manage_options') vérifie que l'utilisateur courant a bien les droits d'administrateur, ce que l'on cherche ici. is_admin() vérifie seulement si l'on se trouve dans le tableau de bord (le back-office), pas l'identité de la personne. C'est un piège fréquent : ne les confondez pas.

Où placer ce code : functions.php ou un plugin de snippets (Code Snippets) ?

Les deux fonctionnent. Le functions.php de votre thème actif est le plus direct, mais votre code disparaît si vous changez de thème. Un plugin comme Code Snippets le rend indépendant du thème et plus facile à activer ou désactiver sans risque. Pour un site en production, je préfère personnellement le plugin, plus sûr.

Le code protégé est-il exécuté pour les rôles Éditeur ou Auteur ?

Non. La capacité « manage_options » n'est accordée par défaut qu'aux administrateurs. Un Éditeur ou un Auteur ne la possède pas, donc votre bloc conditionnel les ignore comme n'importe quel visiteur. Si vous vouliez aussi cibler ces rôles, il faudrait tester une capacité qu'ils partagent, comme « edit_posts ».

Comment tester ce code sans être connecté en admin (voir ce que voit un visiteur) ?

Le plus simple : ouvrez votre site dans une fenêtre de navigation privée, où vous n'êtes pas connecté. Vous verrez exactement le rendu d'un visiteur anonyme. Autre option, déconnectez-vous ou utilisez un second navigateur. Un plugin de bascule de rôle permet aussi de simuler un Éditeur ou un Auteur sans vous déconnecter.

Blaminhor Je construis ce qui manque.

Commentaires