WPML
Status
Vom Autor gelöst
Zugehöriges Plugin/Theme
ThemeREX Addons
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie das Image-Slider-Widget aus dem Plugin ThemeRex Addons in Elementor verwenden, werden übersetzte Bilder aus WPML Media Translation auf übersetzten Seiten nicht angezeigt. Stattdessen wird dasselbe Bild aus der Standardsprache in allen Sprachen angezeigt.

Problemumgehung

Bitte vergewissern Sie sich, dass Sie ein vollständiges Backup Ihrer Website erstellt haben, bevor Sie fortfahren.


  • Öffnen Sie die Datei functions.php Ihres Themes und fügen Sie den folgenden Code hinzu
    // 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'] );
        }
    }

Alle bekannten Probleme →