- Статус
- Открыто
- Связанный плагин/тема
- 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.