WPML
ステータス
解決済み
関連するプラグイン/テーマ
Germanized for WooCommerce
トピックタグ
Compatibility, WCML

問題の概要

WPMLとGermanized for WooCommerceを使用している場合、以下の問題が発生する可能性があります。ラベルやエラーメッセージなど、法的なチェックボックスに関連する文字列が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 > (対象のチェックボックス)」に移動し、ラベルに少し変更を加えて保存します。

  • 次に、上部の管理画面バーにある言語スイッチャーを使用してセカンダリ言語に切り替え、ラベルを翻訳して保存します。

すべての既知の問題 →