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

Todos os problemas conhecidos →