- 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.