- Статус
- Решена автором
- Тип
- Ошибка
- Связанный плагин/тема
- Ultimate Addons for Elementor
- Теги темы
- Compatibility
Обзор проблемы
При использовании Ultimate Addons for Elementor с WPML Post Grid Filter не отображает переведенные термины рубрик на дополнительных языках. Рубрики отображаются только на языке по умолчанию.
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/plugins/ultimate-elementor/modules/posts/template-blocks/skin-style.php.
- Найдите строку 1088.
- Замените:
$filter_type = $settings[ $filter_by . '_' . $post_type . '_filter_rule' ]; $filters = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ];
- На:
$filter_type = $settings[ $filter_by . '_' . $post_type . '_filter_rule' ]; // WPML Workaround for compsupp-7728 if (class_exists('Sitepress')) { $original_terms = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ]; $translated_terms = []; foreach ($original_terms as $term_slug) { $term_obj = get_term_by('slug', $term_slug, $filter_by ); if ($term_obj) { $translated_term_id = apply_filters('wpml_object_id', $term_obj->term_id, $filter_by , true); $translated_term = get_term($translated_term_id, $filter_by ); if ($translated_term && !is_wp_error($translated_term)) { $translated_terms[] = $translated_term->slug; } } } $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ] = $translated_terms; } $filters = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ];