WPML
Status
Aberto
Relatado para
WPML Multilingual & Multicurrency for WooCommerce 5.3.2
Tags de tópico
Bug

Visão geral do problema

Atualmente, a nota do pedido adicionada automaticamente após uma primeira compra pode aparecer no idioma em que o pedido foi feito, em vez do idioma padrão do painel de administração. Esse problema é específico de situações em que o usuário conclui a compra em um idioma secundário.

Solução alternativa

Certifique-se de fazer um backup completo do seu site antes de prosseguir.


  • Abra o arquivo functions.php do seu tema.

  • Adicione o seguinte snippet:
    // The action is added only once, we are removing it just after it's called.
    // The same happens for the hook to restore the language once the note is added.
    $temporarilySwitchToDefaultLang = function() use ( &$temporarilySwitchToDefaultLang ) {
        add_action( 'woocommerce_order_status_processing', $temporarilySwitchToDefaultLang );
        do_action( 'wpml_switch_language', apply_filters( 'wpml_default_language', null ) );
    
        $restoreLang = function() use ( &$restoreLang ) {
            remove_action( 'woocommerce_order_note_added', $restoreLang );
            do_action( 'wpml_switch_language', null );
        };
    
        add_action( 'woocommerce_order_note_added', $restoreLang );
    };
    
    add_action( 'woocommerce_order_status_processing', $temporarilySwitchToDefaultLang );

Todos os problemas conhecidos →