WPML
Stato
Risolto dall’autore
Plugin/tema correlato
ThemeREX Addons
Tag dell’argomento
Compatibility

Panoramica del problema

Quando utilizzi il widget Image Slider del plugin ThemeRex Addons in Elementor, le immagini tradotte da WPML Media Translation non vengono visualizzate nelle pagine tradotte. Invece, viene mostrata la stessa immagine della lingua predefinita in tutte le lingue.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Apri il file functions.php del tuo tema e aggiungi il seguente codice
    // 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'] );
        }
    }

Tutti i problemi noti →