Resolved by author
Overview of the issue
When using the Image Slider widget from the ThemeRex Addons plugin in Elementor, translated images from WPML Media Translation do not display on translated pages. Instead, the same image from the default language is shown across all languages.
Workaround
Please, make sure of having a full site backup of your site before proceeding.
- Open the Open your theme’s functions.php file and add the following code
// 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'] ); } }
Hi!
Please just update to the current version (at least 2.34.9.1) and everything should work.
Right now it works not only for slider and images translation but also you can use alternative media for all our widgets with images, audio and video files – https://prnt.sc/O5wyUU6MRutb
Regards,
John
Hi John,
Thanks for the update and for your continued efforts to maintain compatibility with WPML. it’s much appreciated!