WPML
ステータス
未解決
関連するプラグイン/テーマ
Filter Everything PRO
トピックタグ
Compatibility

問題の概要

Filter EverythingプラグインとAdvanced Custom Fieldsを組み合わせて使用しているユーザーは、フィルターで使用されるACFフィールドの値がフロントエンドで翻訳されない問題に遭遇する場合があります。この問題は、フィールドがWPML 文字列翻訳内で翻訳されているにもかかわらず発生します。

回避策

作業を進める前に、必ずサイトの完全なバックアップを取得してください。


  • テーマのfunctions.phpファイルに以下のコードを追加します。
    // WPML Workaround for compsupp-7581
    add_filter('wpc_terms_before_display', 'wpml_compsupp7581_filter_wpc_filter_terms', 10, 4 ); 
    
    function wpml_compsupp7581_filter_wpc_filter_terms($terms, $filter, $set, $urlManager) {
    	
    	if ( class_exists('Sitepress') ) {
    		foreach ($terms as &$term ) {
    			$label = $term->name;
    			$textdomain = 'WordPress';
    			$string_name = 'WPC Filter Label: '.substr($label, 0, 40);
    
    			if ( apply_filters('wpml_default_language', NULL ) == apply_filters( 'wpml_current_language', NULL )) {
    				do_action( 'wpml_register_single_string', $textdomain, $string_name, $label );
    			}	
    			// Apply the translation to the string
    			$term->name = apply_filters('wpml_translate_single_string', $label , $textdomain, $string_name);
    
    		}
    	}
    	return $terms;
    }

  • 元の言語で問題が発生しているページにアクセスします。この操作により文字列が登録されます。

  • WPML > 文字列翻訳ページに移動し、文字列を翻訳します。これはWordPress textdomainの下にあります。

すべての既知の問題 →