WPML
Stato
Risolto
Segnalato per
WPML Multilingual & Multicurrency for WooCommerce 5.5.2.1
Risolto in
WooCommerce Multilingual & Multicurrency 5.5.2.2
Tag dell’argomento
WCML

Panoramica del problema

In WPML Multilingual & Multicurrency for WooCommerce, può accadere che durante la traduzione di un prodotto variabile, la variazione predefinita nella lingua secondaria manchi o sia impostata in modo errato su 0.

Questo accade quando i valori term_id e term_taxonomy_id differiscono, cosa che può verificarsi con gli attributi globali del prodotto.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Apri il file …/woocommerce-multilingual/classes/Synchronization/Component/Attributes.php.

  • Cerca la riga 137.

  • Sostituisci:
    $defaultTermIdTranslations = $this->elementTranslations->get_element_translations( $defaultTermId, false, true );


  • Con:
    $defaultTermIdTranslations = [];


  • Nello stesso file, cerca la riga 149 e sostituisci:
    $translatedDefaultTermId = $this->elementTranslations->element_id_in( $defaultTermId, $language );


  • Con:
    $translatedDefaultTermId = apply_filters( 'wpml_object_id', $defaultTermId, $sanitizedAttributeName, false, $language );


  • Dopo aver applicato queste modifiche, devi salvare o aggiornare manualmente i prodotti che presentano questo problema.

Tutti i problemi noti →