WPML
Statut
Résolu par l’auteur
Extension/thème associé
ThemeREX Addons
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Lors de l’utilisation du widget Image Slider de l’extension ThemeRex Addons dans Elementor, les images traduites avec WPML Media Translation ne s’affichent pas sur les pages traduites. À la place, la même image de la langue par défaut s’affiche dans toutes les langues.

Solution de contournement

Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier functions.php de votre thème et ajoutez le code suivant :
    // 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'] );
        }
    }

Toutes les anomalies connues →