Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problem:
À chaque fois que le client activait String Translation, il avait une erreur critique:

[11-Jan-2023 14:13:58 UTC] PHP Fatal error:  Uncaught ValueError: Unknown format specifier "a" in /www/theophileberthon_324/public/wp-admin/includes/class-wp-list-table.php:962
Stack trace:
#0 /www/theophileberthon_324/public/wp-admin/includes/class-wp-list-table.php(962): sprintf('% articles', '26')
#1 /www/theophileberthon_324/public/wp-admin/includes/class-wp-list-table.php(1420): WP_List_Table->pagination('top')
#2 /www/theophileberthon_324/public/wp-admin/includes/class-wp-list-table.php(1353): WP_List_Table->display_tablenav('top')
#3 /www/theophileberthon_324/public/wp-admin/plugins.php(773): WP_List_Table->display()
#4 {main}
  thrown in /www/theophileberthon_324/public/wp-admin/includes/class-wp-list-table.php on line 962

Solution:
Il s'agissait d'une chaine contenant un placeholder mal traduite dans string translation. Les placeholders doivent rester identiques.
%s items était traduit par % articles au lieu de %s articles

Relevant Documentation:
https://wpml.org/fr/forums/topic/plugin-string-translation-fait-planter-le-site-en-bo/page/2/#post-12799409

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Marqué : 

Ce sujet contient 26 réponses, a 2 voix.

Dernière mise à jour par aurelienP-3 Il y a 1 année et 10 mois.

Assisté par: Nicolas V..

Auteur Articles
janvier 11, 2023 à 12:57 pm #12795161

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Merci pour l'accès. J'ai simplement essayé d'installer le plugin WP File manager afin de pourvoir activer WP_DEBUG et lire le rapport d'erreur et j'ai une erreur critique!

/wp-admin/includes/class-wp-list-table.php on line 962

screenshot-2023.01.11-07_55_06.png
janvier 11, 2023 à 12:59 pm #12795215

aurelienP-3

Oui, j'ai vu avec Kinsta (le serveur) Ils disent que l'erreur critique est due à un plugins.
Et lorsque je désactive tous les plugins, en les réactivant l'erreur critique surviens avec String Translation... En le désactivant, vous n'aurai plus l'erreur critique.

janvier 11, 2023 à 1:02 pm #12795225

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Re,

Je viens d'essayer de me connecter au FTP afin d'éliminer WP File Manager mais les identifiants sont incorrectes : Error: Could not connect to server

Pourriez vous éliminer le dossier de ce plugin vous même, désactiver aussi Query monitor en changeant le nom du dossier.

PS: je ne pense pas que l'erreur de fond soit lié à String Translation en particulier car simplement installé un autre plugin produit la même erreur

Nico

janvier 11, 2023 à 1:07 pm #12795307

aurelienP-3

Je pense qu'il vous manque le PORT pour le FTP : 30035
Je viens de vérifier et les identifiants sont bons.

Je viens de désactiver le plugin Nicolas.

janvier 11, 2023 à 1:27 pm #12795463

aurelienP-3

Je viens de recevoir ce mail :

Bonjour !

Depuis WordPress 5.2, une fonctionnalité native permet de détecter si une extension ou un thème cause une erreur fatale sur votre site, et vous notifie avec cet e-mail automatique.

Ici, WordPress a trouvé une erreur avec l’une de vos extensions, « WooCommerce Multilingual & Multicurrency ».

Commencez par visiter votre site (lien caché) pour vérifier s’il y a des problèmes visibles. Ensuite, visitez la page où une erreur a été relevée (lien caché) et vérifiez si des problèmes sont visibles.

Veuillez contacter votre hébergeur pour une assistance concernant la résolution de ce problème.

Si votre site semble cassé ou si vous ne pouvez pas accéder à votre tableau de bord normalement, WordPress dispose maintenant d’un « mode de récupération ». Cela vous permet de vous connecter en sécurité sur votre tableau de bord afin de chercher la source du problème.

lien caché

Pour garder votre site en sécurité, ce lien expirera dans 1 jour. Ne vous inquiétez cependant pas : un nouveau lien vous sera envoyé si l’erreur se présente à nouveau.

Si vous cherchez de l’aide pour ce problème, les informations suivantes pourraient vous être demandées :
WordPress version 6.1.1
Thème actif : Flatsome Child (version 3.0)
Extension actuelle : WooCommerce Multilingual & Multicurrency (version 5.1.1)
PHP version 8.0.26

Détails de l’erreur
======================
Une erreur de type E_ERROR a été causée dans la ligne 26 du fichier /www/theophileberthon_324/public/wp-content/plugins/woocommerce-multilingual/classes/Tax/Strings/Hooks.php. Message d’erreur : Uncaught Error: Call to undefined function WCML\Tax\Strings\icl_get_string_id() in /www/theophileberthon_324/public/wp-content/plugins/woocommerce-multilingual/classes/Tax/Strings/Hooks.php:26
Stack trace:
#0 /www/theophileberthon_324/public/wp-includes/class-wp-hook.php(308): WCML\Tax\Strings\Hooks->translateLabelString('TVA 20%', '6')
#1 /www/theophileberthon_324/public/wp-includes/plugin.php(205): WP_Hook->apply_filters('TVA 20%', Array)
#2 /www/theophileberthon_324/public/wp-content/plugins/woocommerce/includes/class-wc-tax.php(682): apply_filters('woocommerce_rat...', 'TVA 20%', '6')
#3 /www/theophileberthon_324/public/wp-content/plugins/woocommerce/includes/admin/meta-boxes/views/html-order-items.php(463): WC_Tax::get_rate_label(Object(stdClass))
#4 /www/theophileberthon_324/public/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-items.php(40): include('/www/theophileb...')
#5 /www/theophileberthon_324/public/wp-admin/includes/template.php(1409): WC_Meta_Box_Order_Items::output(Object(WP_Post), Array)
#6 /www/theophileberthon_324/public/wp-admin/edit-form-advanced.php(688): do_meta_boxes(Object(WP_Screen), 'normal', Object(WP_Post))
#7 /www/theophileberthon_324/public/wp-admin/post.php(206): require('/www/theophileb...')
#8 {main}
thrown

janvier 11, 2023 à 1:46 pm #12795733

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Re,

Je viens de me connecter. J'ai réinstallé la dernière version de WordPress puis voulant essayer dans un environnement minimal, j'ai essayé de désactiver vos plugins autres que WPML et j'ai à nouveau une erreur critique!

Tout porte à croire que le problème est général car activer un nouveau plugin ou désactiver un plugin installé génère une erreur critique.

Concernant l'email que vous avez reçu, oui "WooCommerce Multilingual" a besoin de "String Translation" pour fonctionner correctement et traduire des chaînes comme la TVA etc...

janvier 11, 2023 à 1:52 pm #12795761

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

L'erreur survient en désactivant le plugin "Mailjet for WordPress"

janvier 11, 2023 à 1:55 pm #12795829

aurelienP-3

Donc cela proviendrai de ce plugin (Mailjet) selon vous ?

Je vais devoir investiguer alors, mes tests me faisait penser à WPML, désolé si ce n'est pas ça.

janvier 11, 2023 à 2:30 pm #12796263

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Je viens de passer le site en environnement minimal: Tous les plugins désactivés sauf WPML et le thème de WordPress 2023.
Si je réinstalle String Translation j'ai une erreur critique. Cependant comme l'erreur critique arrive aussi en installant ou désactivant d'autres plugins, je pense que le problème de fond n'est pas lié à String Translation mais que String Translation déclenche le problème.

Je vais devoir faire remonter votre ticket à notre support de deuxième niveau.

Je reviens vers vous dès que j'ai leur feedback. Ne changez pas les accès vers le site staging svp.

Nico

janvier 11, 2023 à 2:32 pm #12796313

aurelienP-3

Pas de souci je ne change rien...
Merci !

janvier 12, 2023 à 12:30 am #12799409

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Je pense que nous avons trouvé l'erreur, un placeholder a été mal traduit se qui a créé ce problème.

- Allez dans "WPML > Traduction de chaînes"
- Chercher "% articles" et cochez les case "concordance exacte" et "inclure traductions"
- Cliquez pour éditer la traduction de "%s items" et corriger la traduction pour "%s articles"
corrigez % par %s
- Fermez la pop up en cliquant en dehors et la traduction va se sauvegarder.

Le problème devrait être résolu après cela. J'ai fait le test sur votre site staging.

Nico

screenshot-2023.01.11-19_25_43.png
janvier 12, 2023 à 7:42 am #12801225

aurelienP-3

Super Nicolas, merci d'avoir trouvé la solution !!
Ouf...

Excellente journée.
Aurélien