WPML
Status
Resolvido
Plugin/tema relacionado
Germanized for WooCommerce
Tags de tópico
Compatibility, WCML

Visão geral do problema

Ao usar o Germanized for WooCommerce com o WPML, você pode encontrar o seguinte problema: as strings associadas às caixas de seleção legais, como o rótulo e a mensagem de erro, não aparecem na interface de Tradução de Strings do WPML e não podem ser traduzidas.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Adicione o seguinte código ao arquivo functions.php do seu tema.
    // WPML Workaround for compsupp-8083
    if ( class_exists('Sitepress') ) { 
    
    	add_action( 'update_option_woocommerce_gzd_legal_checkboxes_settings', function( $old_value, $new_value ) {
    		$current_lang = apply_filters( 'wpml_current_language', null );
    		update_option( 'woocommerce_gzd_legal_checkboxes_settings_' . $current_lang, $new_value );
    	}, 10, 2 );
    
    	add_filter( 'pre_option_woocommerce_gzd_legal_checkboxes_settings', function( $default ) {
    
    		$current_lang = apply_filters( 'wpml_current_language', null );
    		$translated = get_option( 'woocommerce_gzd_legal_checkboxes_settings_' . $current_lang );
    
    		return is_array( $translated ) ? $translated : $default;
    	});
    	
    }
            


Essa solução alternativa garante que as strings da caixa de seleção sejam armazenadas por idioma. Depois de adicionar:

  • Vá para “WooCommerce > Configurações > Germanized > Legal checkboxes > (Sua caixa de seleção)” no seu idioma padrão, faça uma pequena edição nos rótulos e salve.

  • Em seguida, mude para o idioma secundário usando o seletor de idiomas na barra superior do painel de administração, traduza os rótulos e salve.

Todos os problemas conhecidos →