Sauter la navigation

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

Problème :
Vous rencontrez des difficultés avec la traduction des filtres WooCommerce sur votre site multilingue. Les filtres fonctionnent correctement en français mais pas en anglais.
Solution :
1. Accédez à WPML > Paramètres et activez notre éditeur de traduction avancé (ATE). Assurez-vous également de configurer correctement vos préférences de traduction.
2. Dans WPML > Gestion de traduction, configurez la bannière pour indiquer 'oui c'est une copie' et supprimez tous les travaux de traduction en cours.
3. Installez le plugin ACFML.
4. Allez à ACF > Groupes de champs et éditez le groupe pour choisir 'Champs identiques'.
5. Dans WooCommerce > WooCommerce Multilingual, assurez-vous de traduire tous les produits et recréez le produit problématique 'T-shirt Coton' depuis zéro.

Si cette solution ne résout pas votre problème ou semble obsolète, nous vous recommandons de vérifier les problèmes connus et de vous assurer que vous avez installé les dernières versions des thèmes et plugins. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support.

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.

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

Dernière mise à jour par Nicolas V. Il y a 7 mois et 1 semaine.

Assisté par: Nicolas V..

Auteur Articles
mai 22, 2024 à 10:23 am #15657017

mathiasJ-2

Bonjour,

Je rencontre un problème avec la traduction des filtres WooCommerce.
J'utilise les filtres natifs de WooCommerce (et non un plugin additionnel) qui se gère depuis les widgets de WordPress.
Ces filtres fonctionne bien sur la version française (native) mais pas sur la version anglaise (ajouté par WPML).
Voir la capture d'écran.

Pourriez-vous m'aider à résoudre ce problème ?

Si besoin, je peux vous communiquer des accès back-office au site de staging.

Merci !
Mathias

Capture d’écran 2024-05-22 à 12.23.15.png
Capture d’écran 2024-05-22 à 12.23.05.png
Capture d’écran 2024-05-22 à 12.20.38.png
mai 22, 2024 à 8:21 pm #15659754

Nicolas V.
Supporter

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

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

Bonjour,

Merci d'avoir contacté le support de WPML. Je ne pense pas qu'il soit nécessaire de créer deux widget, un en FR et un en EN. À la place, créez un seul widget dans votre langue principale (FR) puis dans "WPML > Traduction de chaînes" traduisez les textes rattachés à ce plugin comme "Filtrer par couleur".

Ref: https://wpml.org/documentation/getting-started-guide/translating-widgets/

Dans le ticket précédent je vous ai donné accès à un site test, n'hésitez pas à tester aussi cette fonctionnalité.

mai 23, 2024 à 7:44 am #15660762

mathiasJ-2

Bonjour Nicolas,

Merci pour votre retour mais malheureusement ça ne fonctionne pas non plus en suivant votre méthode.

Souhaitez vous des accès back-office pour regarder ce qui pose problème ?

Merci,
Mathias

mai 23, 2024 à 7:59 pm #15665117

Nicolas V.
Supporter

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

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

Re,

Je viens de faire une deuxième vidéo: lien caché

En fait, les 3 tickets sont tous liés aux préférence de traduction que vous avez choisi.

- Si Couleur est un attribut traduisible, il existera en EN mais comme vous n'avez traduit aucune couleur, le filtre est vide.
- Si Couleur est un attribut non traduisible, il s'affichera car vous montrez de toute façon des produits FR. Mais dès que vous allez traduire vos produits, le filtre ne fonctionnera pas correctement.

mai 24, 2024 à 2:48 pm #15668408

mathiasJ-2

Bonjour Nicolas,

Merci pour votre retour d'analyse. C'est effectivement pertinent ! 😉

Par contre, je rencontre un nouveau problème beaucoup plus problématique. Lorsque je souhaite traduire un produit, je rencontre une erreur fatal.

Voici comment je procède :
lien caché

Voici l'erreur affichée sur la page :
Fatal error: Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, string given in /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php:612 Stack trace: #0 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php(612): array_filter('Chemise \xC3\xA0 fran...') #1 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php(490): WCML_Editor_UI_Product_Job->add_custom_field_to_element_data(Array, '33492', NULL, true) #2 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php(84): WCML_Editor_UI_Product_Job->get_data() #3 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-translation-editor.php(57): WCML_Editor_UI_Product_Job->__construct(Array, Object(woocommerce_wpml), Object(SitePress), Object(wpdb)) #4 /home/stagingdnud/public_html/wp-includes/class-wp-hook.php(324): WCML_Translation_Editor->fetch_translation_job_for_editor(NULL, Array) #5 /home/stagingdnud/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters(NULL, Array) #6 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-editor/class-wpml-translation-editor-ui.php(342): apply_filters('wpml-translatio...', NULL, Array) #7 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-editor/class-wpml-translation-editor-ui.php(185): WPML_Translation_Editor_UI->filter_the_model(Array) #8 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-editor/class-wpml-translation-editor-ui.php(91): WPML_Translation_Editor_UI->output_model() #9 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-queue/class-wpml-translations-queue.php(78): WPML_Translation_Editor_UI->render() #10 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-management.php(373): WPML_Translations_Queue->display() #11 /home/stagingdnud/public_html/wp-includes/class-wp-hook.php(324): WPML_Translation_Management->translation_queue_page('') #12 /home/stagingdnud/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #13 /home/stagingdnud/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #14 /home/stagingdnud/public_html/wp-admin/admin.php(259): do_action('wpml_page_tm/me...') #15 {main} thrown in /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php on line 612

Et l'erreur envoyée dans le mail automatique de WordPress :

Si vous cherchez de l’aide pour ce problème, les informations suivantes pourraient vous être demandées :
WordPress version 6.5.3
Thème actif : Salient Child Theme (version 1.0)
Extension actuelle : WooCommerce Multilingual & Multicurrency (version 5.3.6)
PHP version 8.1.28

Détails de l’erreur
======================
Une erreur de type E_ERROR a été causée dans la ligne 612 du fichier /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php. Message d’erreur : Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, string given in /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php:612
Stack trace:
#0 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php(612): array_filter('T-shirt coton f...')
#1 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php(490): WCML_Editor_UI_Product_Job->add_custom_field_to_element_data(Array, '33546', NULL, true)
#2 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php(84): WCML_Editor_UI_Product_Job->get_data()
#3 /home/stagingdnud/public_html/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-translation-editor.php(57): WCML_Editor_UI_Product_Job->__construct(Array, Object(woocommerce_wpml), Object(SitePress), Object(wpdb))
#4 /home/stagingdnud/public_html/wp-includes/class-wp-hook.php(324): WCML_Translation_Editor->fetch_translation_job_for_editor(NULL, Array)
#5 /home/stagingdnud/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters(NULL, Array)
#6 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-editor/class-wpml-translation-editor-ui.php(342): apply_filters('wpml-translatio...', NULL, Array)
#7 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-editor/class-wpml-translation-editor-ui.php(185): WPML_Translation_Editor_UI->filter_the_model(Array)
#8 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-editor/class-wpml-translation-editor-ui.php(91): WPML_Translation_Editor_UI->output_model()
#9 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-queue/class-wpml-translations-queue.php(78): WPML_Translation_Editor_UI->render()
#10 /home/stagingdnud/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-management.php(373): WPML_Translations_Queue->display()
#11 /home/stagingdnud/public_html/wp-includes/class-wp-hook.php(324): WPML_Translation_Management->translation_queue_page('')
#12 /home/stagingdnud/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#13 /home/stagingdnud/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#14 /home/stagingdnud/public_html/wp-admin/admin.php(259): do_action('wpml_page_tm/me...')
#15 {main}
thrown

Vous pouvez faire le test vous même sur le site de staging avec les accès transmis précédemment.

Merci !
Mathias

mai 24, 2024 à 11:47 pm #15669389

Nicolas V.
Supporter

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

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

Bonjour,

Lorsque je supprime la traduction en cours dans l'éditeur WordPress et que je réactive notre éditeur avancé de traduction je n'ai pas de problème pour effectuer la traduction du produit "T-shirt Coton" (voir capture).

screenshot-2024.05.24-18_47_03.png
mai 28, 2024 à 2:11 pm #15679080

mathiasJ-2

Bonjour Nicolas,

Sincèrement désolé pour le délai de réponse, mais je n'étais pas au bureau ces derniers jours.

Très étrange que le module de traduction classique génère une erreur fatale...
Par contre pourriez-vous me préciser comment faire pour réactiver votre éditeur avancé de traduction ? Pour que je puisse faire des tests sur le site de production et ainsi finaliser mes tests et fermer les différents tickets en cours.
Je n'ai rien trouvé dans les paramètres de WPML ou ceux de WooCommerce Multilingual & Multicurrency.

Merci,
Mathias

mai 28, 2024 à 8:44 pm #15681016

Nicolas V.
Supporter

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

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

Bonjour,

Lorsque vous éditez un produit dans la langue d'origine, dans la section "Langue" de la sidebar de droite, vous allez voir "WPML Translation Editor" et "WordPress Editor", celui avec un fond noir est l'éditeur sélectionné (voir capture).

Lorsque vous changez d'éditeur une pop-up vous demande si vous souhaitez activé cet éditeur pour ce produit seulement ou pour tous les produits.

screenshot-2024.05.28-15_41_18.png
mai 29, 2024 à 2:55 pm #15684590

mathiasJ-2

Nicolas,

Je suis totalement bloqué sur mon site de production.
Je n'arrive pas à repasser sur votre module de traduction avancé (avec l'URL lien caché).

Et comment faire pour supprimer une traduction d'un produit déjà en cours mais non finalisée ? Car sinon, j'ai toujours une erreur fatale.

Voici une vidéo :
lien caché

Est-ce que je peux vous transmettre des accès au back-office de production ?

Merci beaucoup,
Mathias

mai 29, 2024 à 7:24 pm #15685295

Nicolas V.
Supporter

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

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

Bonjour,

- Dans "WPML > Gestion de traductions > Travaux" vous pouvez éliminer les travaux en cours
- Ensuite retournez dans les produits et mettez à jour le produit (un simple espace dans le titre ou à la fin d'un paragraphe suffit) puis sauvegardez
- Activez ensuite notre éditeur de traduction
- Traduisez le produit

Vidéo: lien caché

mai 29, 2024 à 7:45 pm #15685354

mathiasJ-2

Bonsoir Nicolas,

Merci pour cette vidéo, mais malheureusement, j'ai toujours un problème.
Voici également une vidéo explicative :
lien caché

mai 30, 2024 à 12:30 pm #15688051

Nicolas V.
Supporter

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

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

Bonjour,

C'est étrange car je n'ai pas cette erreur de mon côté: lien caché

Peut être un problème de compte ou de cookies?
- Essayez depuis mon compte admin
- Essayez depuis un autre navigateur

mai 30, 2024 à 1:52 pm #15688426

mathiasJ-2

Bonjour Nicolas,

Sincèrement, ça ne vient pas d'un problème de cookies ou du compte.
Du coup, je viens de refaire une copie du site de prod sur l'environnement de staging. Et le problème est bien toujours présent.
J'ai une erreur fatale à chaque fois que je souhaite traduire un produit.

Par contre, je dois vous créer de nouveau accès au back-office et je n'ai pas conserver votre précédent mot de passe.

Comment je peux vous transmettre vos nouveaux identifiants à ce site de staging.

Merci !
Mathias

mai 30, 2024 à 1:59 pm #15688444

mathiasJ-2

Nicolas,

Finalement, j'ai retrouvé vos identifiants BO dans un autre échange.
Je viens donc de vous recréer vos accès.

Merci,
Mathias

mai 30, 2024 à 9:11 pm #15690207

Nicolas V.
Supporter

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

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

Bonjour,

J'ai fait une vidéo récapitulative car je pense que vous avez écrasé le site staging et donc tous les changements faits auparavant: lien caché
Elle coupe avant la fin mais je résumais simplement toutes les étapes.

WPML > Paramètres
- Activer notre éditeur de traduction avancé (ATE)
- Mettre les bonnes préférences de traduction

WPML > Gestion de traduction
- Bannière: choisir oui c'est une copie
- Travaux: éliminer tous les travaux en cours

Installer ACFML

ACF > Groupes de champs
- Éditer le groupe et choisir "Champs identiques"

WooCommerce > WooCommerce Multilingual
- Traduire les produits
- Recréer le produit problématique "T-shirt Coton" depuis zéro