- Status
- Resolvido
- Relatado para
- WPML Multilingual & Multicurrency for WooCommerce 5.5.2.1
- Resolvido em
- WooCommerce Multilingual & Multicurrency 5.5.2.2
- Tags de tópico
- WCML
Visão geral do problema
No WPML Multilingual & Multicurrency for WooCommerce, pode acontecer que, ao traduzir um produto variável, a variação padrão no idioma secundário esteja ausente ou definida incorretamente como 0.
Isso acontece quando os valores term_id e term_taxonomy_id diferem, o que pode ocorrer com atributos globais de produto.
Solução alternativa
Por favor, certifique-se de ter um backup completo do site antes de prosseguir.
- Abra o arquivo …/woocommerce-multilingual/classes/Synchronization/Component/Attributes.php.
- Procure a linha 137.
- Substitua:
$defaultTermIdTranslations = $this->elementTranslations->get_element_translations( $defaultTermId, false, true );
- Por:
$defaultTermIdTranslations = [];
- No mesmo arquivo, procure a linha 149 e substitua:
$translatedDefaultTermId = $this->elementTranslations->element_id_in( $defaultTermId, $language );
- Por:
$translatedDefaultTermId = apply_filters( 'wpml_object_id', $defaultTermId, $sanitizedAttributeName, false, $language );
- Após aplicar essas alterações, você precisa salvar ou atualizar manualmente os produtos com esse problema.