- Statut
- Résolu
- Signalé pour
- WPML Multilingual & Multicurrency for WooCommerce 5.5.2.1
- Résolu dans
- WooCommerce Multilingual & Multicurrency 5.5.2.2
- Étiquettes de sujet
- WCML
Aperçu de l’anomalie
Dans WPML Multilingue & Multidevise pour WooCommerce, il peut arriver que lors de la traduction d’un produit variable, la variation par défaut dans la deuxième langue soit manquante ou incorrectement définie sur 0.
Cela se produit lorsque les valeurs term_id et term_taxonomy_id diffèrent, ce qui peut arriver avec les attributs de produit globaux.
Solution de contournement
Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/woocommerce-multilingual/classes/Synchronization/Component/Attributes.php.
- Cherchez la ligne 137.
- Remplacez :
$defaultTermIdTranslations = $this->elementTranslations->get_element_translations( $defaultTermId, false, true );
- Par :
$defaultTermIdTranslations = [];
- Dans le même fichier, cherchez la ligne 149 et remplacez :
$translatedDefaultTermId = $this->elementTranslations->element_id_in( $defaultTermId, $language );
- Par :
$translatedDefaultTermId = apply_filters( 'wpml_object_id', $defaultTermId, $sanitizedAttributeName, false, $language );
- Après avoir appliqué ces modifications, vous devez enregistrer ou mettre à jour manuellement les produits présentant ce problème.