Un bug de WordPress fait actuellement planter les sites WooCommerce, entraînant des erreurs fatales et affectant les plateformes de commerce électronique. Ce problème découle d’une seule ligne de code. Un contournement temporaire a été mis en place, et l’équipe WooCommerce est au courant de la situation. Elle s’active à publier un correctif permanent sous forme de patch.
Sites WooCommerce en Panne
Une discussion a été lancée sur les forums de support de WordPress où un utilisateur a signalé l’erreur. D’autres personnes rencontrant le même problème ont réagi, indiquant qu’elles faisaient face à la même situation. La plupart des intervenants affirment ne pas avoir effectué de changements récents sur leurs sites et que la panne s’est produite de manière subite.
L’utilisateur à l’origine du signalement a proposé un contournement pour remettre les sites en état de marche : il s’agit d’un simple ajustement d’une ligne de code dans le fichier BlockPatterns.php, qui fait partie de WooCommerce.
Le fichier se trouve à l’emplacement suivant :
wp-content/plugins/woocommerce/src/Blocks/BlockPatterns.php
D’autres utilisateurs ont également signalé avoir eu le même message d’erreur fatale :
“Erreur non interceptée : strpos() : Argument #1 ($haystack) doit être de type string, null donné dans /var/www/site/data/www/site.com.br/wp-content/plugins/woocommerce/src/Blocks/BlockPatterns.php à la ligne 251.”
Un des commentateurs a également ajouté :
“J’ai exactement le même problème.
Cela s’est produit avec la version 9.8.2, et la mise à jour vers la version 9.8.3 n’a pas réglé le problème. Redescendre à la version 9.7.1 n’a pas été bénéfique non plus.
Le problème est survenu sans aucune interaction avec les plugins ou mises à jour récentes. Modifier le code à la ligne 251 a permis un contournement temporaire.
Nous avons besoin d’une solution plus stable en attendant que l’équipe WooCommerce publie un patch officiel.”
D’autres utilisateurs ont mentionné avoir reçu l’erreur après avoir mis à jour leurs plugins, mais revenir à la version précédente n’a pas résolu le problème. Certains ont également indiqué qu’ils n’avaient rien fait avant que la panne ne se produise.
Un membre de l’équipe support de WooCommerce a répondu pour confirmer que le problème était bien connu et qu’ils travaillaient à le régler :
“Merci pour votre signalement. C’est un problème connu, et un contournement temporaire a été partagé ici : lien vers GitHub.
Vous pouvez suivre l’avancement et les mises à jour sur le fil GitHub : lien vers le problème #57760, car l’équipe est bien consciente et s’engage à le résoudre.”
Articles connexes :
Solution Rapide Publiée Sur la Discussion GitHub
Un utilisateur a partagé une solution rapide sur le dépôt GitHub officiel, qui permettra de résoudre le problème temporairement :
Si vos sites sont actuellement hors ligne, voici la solution rapide à appliquer dès aujourd’hui.
Pour remettre en ligne les sites qui affichent le message d’erreur :
Erreur fatale : Erreur de type non interceptée : strpos(): Argument #1 ($haystack) doit être de type string, null donné dans /var/www/html/wp-content/plugins/woocommerce/src/Blocks/BlockPatterns.php:251Ajoutez ?? » à la ligne 251 comme ceci :
if ( strpos( $category['title'] ?? '', $prefix ) !== false ) {Assurez-vous de vider tous les caches WordPress que vous pourriez avoir après cette modification.
Cette solution pourrait s’avérer utile pour ceux qui recherchent une solution rapide pour que leur site fonctionne à nouveau, tout en laissant le temps à l’équipe WooCommerce de préparer #57759.
Le même dépôt GitHub de WooCommerce contient également cette note :
“Certains sites peuvent rencontrer une erreur fatale autour de la classe BlockPatterns.php, entraînant un chargement défaillant du site. Cela est dû à une réponse incorrecte du référentiel de modèles Woo. Un correctif a été déployé à ce niveau, mais certains sites peuvent encore présenter une valeur de cache erronée.”
Ils ont également précisé :
“Le problème a été résolu du côté de la source du cache, mais certains sites sont restés avec une valeur de cache erronée. Nous publierons des mises à jour pour corriger cela.”
Problème Supplémentaire Chez WPEngine
Un utilisateur a signalé qu’il rencontrait toujours des difficultés avec son site hébergé sur WP Engine après avoir appliqué un correctif :
“J’éprouve des difficultés à mettre en œuvre le correctif sur WP Engine. Je suppose qu’il s’agit d’un problème de cache, mais en uploadant la solution et en vidant tous les caches, cela ne fonctionne pas. Y a-t-il une étape supplémentaire que j’ai ratée ? Jusqu’à présent, seule la restauration d’une sauvegarde a fonctionné.”
La réponse a été que WP Engine dispose de plusieurs caches qui doivent être mis à jour :
“C’est parce que WPEngine est une plateforme, et non un serveur web normal – Il y a plusieurs couches qu’il faut peut-être vider, y compris leur cache de page et les caches Varnish. Consultez : Information sur les caches de WP Engine.
Consultez le rapport initial sur le forum de support WordPress :
Erreur fatale BlockPatterns.php:251
Découvrez la discussion GitHub :
Erreur Fatale autour de strpos dans BlockPatterns.php #57760
Image de l’illustration par Shutterstock/Kues
