Ajouter des entrées dans le fichier de logs de Wordpress
Ajouter des entrées dans le fichier de logs de Wordpress
Au cours de la création d’un site Wordpress, lorsque qu’en tant que developpeur on créé des fonctionnalités personnalisées, on peut avoir besoin de recourir à des sorties écrans pour voir le résultat de nos ajouts de code, en recourant notamment à des var_dump() ou des print_r().
Seulement il peut être pénible des fois de voir notre sortie écran sur le site, aussi il peut être intéressant de plutôt afficher nos résultats dans le fichier de logs de Wordpress. Cela permet une meilleure lisibilité et de tracer les retours de plusieurs pages différentes au même endroit afin de voir le comportement du site en enchainant plusieurs actions.
On peut même utiliser cette fonctionnalité - temporairement - sur un site en production, pour analyser un nouvel ajout par exemple, sans impacté l’utilisateur.
Création d’un plugin
Pour ajouter cette fonctionnalité on pourrait rajouter une fonction dans le fichier functions.php du thème utilisé. Mais dans l’idée de se dire que au cours de la vie du site, on pourrait être amené à changer de thème ou dans l’optique de pouvoir utiliser cette fonction sur différents site, la création d’un plugin parait être la meilleure solution.
On se connecte sur le dossier contenant le site avec un logciel FTP, Filezilla par exemple. On se rend dans le dossier /wp-content/plugins et on crée un nouveau dossier log-error (c’est une idée, vous pouvez l’appeler comme vous voulez.) Dans ce dossier on créé un fichier log-error.php (le nom du fichier doit être le même que celui du dossier afin de respecter les conventions Wordpress). On ouvre ce nouveau fichier avec un éditeur de code (Visual Studio Code est un excellent éditeur de code gratuit) puis on ajoute le code suivant :
<?php
/*
Plugin Name: Log Error
Description : Plugin to create entries in Wordpress Log
*/
if ( ! function_exists('write_log')) {
function write_log ( $log ) {
if ( is_array( $log ) || is_object( $log ) ) {
error_log( print_r( $log, true ) );
} else {
error_log( $log );
}
}
}
Ca y est votre plugin est prêt et utilisable.
Rendez-vous sur la partie administration de votre site Wordpress et dans l’onglet dédié aux extensions vous allez retrouver votre extension nouvellement créée. Ne reste plus qu’à l’activer.
Maintenant, afin d’utiliser la fonction write_log(), il est nécessaire d’activer le mode debug de Wordpress et son fichier de logs si ce n’est pas déjà fait. Pour savoir comment activer ce mode, vous pouvez vous rendre sur cette adresse : Activer le mode débug sur Wordpress
Dès lors, dans votre code, lorsque vous voulez obtenir une information, il suffit d’utiliser la fonction write_log() à la place d’un var_dump() ou d’un print_r() :
write_log( $variable );
Le résultat de cette fonction s’affichera dans le fichier de log de Wordpress, situé par défaut à la racine du dossier wp-content.
Dès que vous n’avez plus besoin de cette fonctionnalité, il suffit de désactiver le mode debug de Wordpress pour désactiver la fonction.
Résumé
Cet article explique comment créer un plugin pour améliorer le débuggage d’un site Wordpress en ajoutant le résultat de nos fonctions de débug dans le fichier de logs de WordPress afin d’en améliorer la lisibilité et le suivi. Cette fonctionnalité peut être utilisée temporairement en production pour analyser un nouvel ajout sans impacter l’utilisateur. Le tutoriel explique comment créer le plugin, comment l’activer, comment activer le mode debug et comment utiliser la nouvelle fonction write_log().