Tout savoir sur WordPress
Tutoriel WordPress

Restreindre l’activation du mode Debug de WordPress aux administrateurs

Par défaut, lorsque le mode debug de WordPress est activé, il est actif pour tous les membres. Afin de restreindre l’accès aux administrateurs, nous allons voir une astuce simple à mettre en place.

Le mode debug de WordPress (ou mode débogage) est obligatoire pour moi lorsque je développe un thème, un site ou un plugin WordPress. Il permet d’afficher tous les types d’erreurs PHP, y compris les Notices et Warnings.

Par défaut, une fois que le mode debug est activé, il fonctionne pour tous les membres/visiteurs de votre site. Cela peut-être gênant pour un site en production où on désactive l’affichage des erreurs PHP.

Pour permettre l’accès au mode debug uniquement pour les administrateurs, il suffit de copier le code ci-dessous à la fin du fichier wp-config.php qui se trouve à la racine de votre site. Pour éviter de faire une mauvaise manipulation, vous pouvez ajouter le code dans un Must Use plugin.

define( 'WP_DEBUG', current_user_can('administrator') && isset( $_GET['debug'] ) && $_GET['debug'] == 's3cr3t' );

Ensuite, vous devez modifier s3cr3t par un autre mot de votre choix.

Enfin, il suffit d’accéder à votre site et d’ajouter ?debug=s3cr3t afin d’activer le mode debug.

Ex : http://www.geekpress.fr/?debug=s3cr3t (non ceci n’est pas activé ici :p)

Cet article a été mis à jour il y a 1754 jours - Il n'est peut être plus à jour !

Article écrit par Julio P.

Co-fondateur de WP Media, la startup Lyonnaise qui a créé WP Rocket et Imagify, Julio Potier est un Expert WordPress, un Formateur Expérimenté et un Consultant en Sécurité Web.

Il aime partager ses compétences et ses réflexions sur WordPress, donnant des conférences partout dans le monde.

16 Commentaires

  1. Rien à redire, clair, précis, et surtout, utile.
    Pour ton exemple tu aurai du enlevé la mention « (non ceci n’est pas activé ici :p) » et vérifié sur GA combien on tenté l’adresse, ça aurai pu être amusant ^^.

    Cordialement,
    Yannick

  2. Encore merci Julio pour une astuce qui me sera une fois de plus bien utile. C’était tout bête, mais il fallait trouver l’idée :)

    Je vais mettre ça en place sur mes prochains projets.

  3. MODE TROLL ON : C’est une astuce pour les newbies ça. Moi perso, j’active toujours le debug sur mes sites en prod, c’est largement plus fun ! :cool:

    MODE NORMAL : cool l’astuce !

  4. Comme dit Aurélien, c’est plus sympa quand les visiteurs voient les messages d’erreur :P .

    Sinon très sympa comme astuce

  5. Merci à tous, c’est une vieille méthode que j’utilise depuis toujours, je n’avais pas eu l’idée de la poster, chose faite !

  6. relativement simple en effet! merci pour l’astuce, ça va me permettre de peaufiner les paramètres avant d’ajouter un nouvel admin.

    Edit Admin : Merci d’utiliser KeywordLud pour mettre une ancre optimisée…

  7. Salut,
    merci pour cette astuce mais sur mon WP jai un message d’erreur ,
    a cause du current_user_can dans wp-config

    Fatal error: Call to undefined function current_user_can() in /.../wp-config.php on line 91

    et en le placant dans un mu-plugins
    j’ai cette erreur :

    Fatal error: Call to undefined function wp_get_current_user() in /homez.389/.../wp-includes/capabilities.php on line 1281
  8. Étrange, je viens de retester à l’instant et ça fonctionne :|
    Dans la config tu le mets bien après la ligne :

    require_once(ABSPATH . 'wp-settings.php');
  9. Tout comme ton article pour éviter l’exécution des shortcodes, celui est aussi bien pratique ! Je ne connaissais pas donc c’est nickel :)

    Merci bien pour l’astuce !

  10. Très intéressant, et ça m’amène à une petite question :
    est-ce que ça fonctionne aussi en multisite ?

    Parce que si la réponse est oui je prends direct !

    (désolé si la question est un peu bête, je ne suis qu’un marketeux ;-) )

  11. Effectivement, on devient très vite accro au mode debug de WordPress ! C’est évidemment à prendre en compte. Merci pour l’astuce

  12. Pas mal la petite astuce, j’ai pu tester aussi les mu_plugins et remarquer que ce bout de code ne focntionne pas en mu-plug mais que si il est placé à la fin du fichier wp-config comme le signale Julio

b7cf6959fd17df025c9c4278e177b9b7,,,,,,,,