- Статус
- Решено автором
- Связанный плагин/тема
- ThemeREX Addons
- Теги темы
- Compatibility
Обзор проблемы
При использовании виджета Image Slider из плагина ThemeRex Addons в Elementor переведенные изображения из WPML Media Translation не отображаются на переведенных страницах. Вместо этого на всех языках отображается одно и то же изображение из языка по умолчанию.
Обходное решение
Пожалуйста, прежде чем продолжить, убедитесь, что у Вас есть полная резервная копия Вашего сайта.
- Откройте файл functions.php Вашей темы оформления и добавьте следующий код
// WPML Workaround for compsupp-7754 add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7754_trx_widget_slider_widget'); function wpml_compsupp7754_trx_widget_slider_widget($element) { if ( 'trx_widget_slider' !== $element->get_name() ) { return; } $settings = $element->get_settings(); if ( isset( $settings['slides'] ) && is_array( $settings['slides'] ) ) { foreach ( $settings['slides'] as $key => $value ) { if ( is_array($value) && isset( $value['image']['id'] ) ) { $post_type = get_post_type( $value['image']['id'] ); if ( $post_type ) { $translated_id = apply_filters( 'wpml_object_id', $value['image']['id'], $post_type, true ); $translated_url = wp_get_attachment_url($translated_id); $settings['slides'][$key]['image']['id'] = $translated_id; $settings['slides'][$key]['image']['url'] = $translated_url; } } } $element->set_settings( 'slides', $settings['slides'] ); } }