- ステータス
- 未解決
- 関連するプラグイン/テーマ
- 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の下にあります。