WooCommerce / Erreurs
Erreurs WooCommerce : PHP, JavaScript, base de données et conflits
Un message d’erreur est l’indice le plus utile qu’une boutique en panne puisse donner, à condition de trouver le vrai. Le message vu par les clients est généralement générique ; l’erreur précise, avec fichier et ligne, se trouve dans un journal.
Réponse courte
Trouvez d’abord l’erreur exacte. Les erreurs PHP sont dans WooCommerce → État → Journaux (fatal-errors), le journal d’erreurs PHP ou wp-content/debug.log. Les erreurs JavaScript sont dans la console du navigateur. Lisez le chemin du fichier : il indique si la cause est une extension, le thème, du code sur mesure ou WooCommerce lui-même, et l’horodatage indique quel changement l’a déclenchée.
Ressources techniques
Guides sur les erreurs
- WooCommerce / Erreurs Conflit d’extensions WooCommerce : comment trouver la cause Partez des preuves (l’erreur, le moment, la requête) et isolez en préproduction par moitiés, pas extension par extension en production.
- WooCommerce / Erreurs Erreur fatale WooCommerce : guide de dépannage pratique Lisez correctement l’erreur fatale (fichier, ligne, trace) et rattachez-la au changement qui l’a déclenchée.
Problèmes précis
Types d’erreurs
Erreur fatale PHP
« Il y a eu une erreur critique sur ce site » et pages blanches.
Erreurs JavaScript
Boutons inactifs, checkout qui ne fait rien, panier qui ne se met pas à jour.
Erreurs AJAX
Requêtes admin-ajax.php ou ?wc-ajax= en échec avec 400, 403 ou 500.
Conflits d’extensions
Deux extensions, ou une extension et du code sur mesure, en concurrence sur le même parcours.
Conflits de thème
Surcharges de modèles obsolètes, hooks supprimés, JavaScript du thème.
Erreurs de base de données
Erreurs de connexion, tables manquantes, interblocages, requêtes en échec.
Erreurs de l’API REST
Réponses 401, 403 et 500 des points d’accès /wp-json/wc/.
Bien lire l’erreur
Une erreur fatale PHP contient tout ce qu’il faut pour commencer : le type d’erreur, le message, le fichier et la ligne, et généralement une pile d’appels. Le chemin du fichier indique où : wp-content/plugins/<extension>/…, le thème, un mu-plugin ou WooCommerce. La pile d’appels indique comment on y est arrivé, souvent un hook WooCommerce qui appelle du code sur mesure. L’horodatage indique quand, ce qui permet de le relier à une mise à jour, un changement de version PHP ou un déploiement.
PHP Fatal error: Uncaught TypeError: Unsupported operand types: string + float
in /wp-content/plugins/custom-fees/custom-fees.php:142
Stack trace:
#0 /wp-includes/class-wp-hook.php(324): add_custom_fee(Object(WC_Cart))
#1 /wp-includes/plugin.php(205): WP_Hook->apply_filters(...)Dans cet exemple, le code de la ligne 142 d’une extension sur mesure reçoit une chaîne là où il attend un nombre, pendant le calcul des frais du panier. Cela pointe vers un changement récent de ce qui est transmis à cette fonction, pas vers WooCommerce lui-même.
Où chaque type d’erreur est journalisé
| Erreur | Où la trouver |
|---|---|
| Erreurs fatales PHP | WooCommerce → État → Journaux (fatal-errors), journal d’erreurs PHP |
| Avertissements et notices PHP | wp-content/debug.log avec WP_DEBUG_LOG activé |
| Erreurs JavaScript | Console du navigateur |
| Erreurs AJAX et API REST | Onglet Réseau du navigateur : code de statut et corps de la réponse |
| Erreurs de base de données | Journal d’erreurs PHP, debug.log, journal d’erreurs MySQL du serveur |
Questions fréquentes
Où se trouvent les journaux d’erreurs WooCommerce ?
Dans WooCommerce → État → Journaux. Les erreurs fatales sont enregistrées avec la source fatal-errors. Les erreurs PHP vont aussi dans le journal d’erreurs PHP du serveur, et dans wp-content/debug.log quand la journalisation de débogage de WordPress est active.
Est-il sûr d’activer WP_DEBUG sur une boutique en production ?
Activez la journalisation, pas l’affichage : mettez WP_DEBUG et WP_DEBUG_LOG à true et WP_DEBUG_DISPLAY à false, pour que les erreurs soient écrites dans le journal et jamais montrées aux clients. Désactivez-la ensuite et gardez le journal hors d’accès public.
Comment savoir quelle extension provoque un conflit ?
Partez du chemin du fichier dans l’erreur et de la chronologie des changements récents. S’il n’y a pas d’erreur, reproduisez le problème sur une copie de préproduction et isolez-le en désactivant les extensions par moitiés, jamais en production pendant les heures d’activité.
$ décrivez le problème
Un problème avec WooCommerce ?Demandez un diagnostic.
Dites-nous ce qui ne fonctionne pas, ce qui a changé récemment et l'impact sur votre activité. Nous examinons chaque demande et vous recommandons la marche à suivre.
N'envoyez jamais de mots de passe, de clés API ni de données de carte via le formulaire.