WPML
Статус
Решено
Связанный плагин/тема
Germanized for WooCommerce
Теги темы
Compatibility, WCML

Обзор проблемы

При использовании Germanized for WooCommerce с WPML Вы можете столкнуться со следующей проблемой: строки, связанные с юридическими флажками, такие как подпись и сообщение об ошибке, не отображаются в интерфейсе WPML Перевод строк и не могут быть переведены.

Обходное решение

Пожалуйста, перед тем как продолжить, убедитесь, что у Вас есть полная резервная копия сайта.


  • Добавьте следующий код в файл functions.php Вашей темы оформления.
    // 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;
    	});
    	
    }
            


Это обходное решение гарантирует, что строки чекбоксов будут сохраняться для каждого языка. После его добавления:

  • Перейдите в раздел «WooCommerce > Настройки > Germanized > Legal checkboxes > (Ваш чекбокс)» на Вашем языке по умолчанию, внесите небольшое изменение в метки и сохраните.

  • Затем переключитесь на дополнительный язык с помощью переключателя языков в верхней части админ-панели, переведите метки и сохраните.

Все известные проблемы →