WPML
Status
Vom Autor gelöst
Gelöst in
Ultimate Addons for Elementor Version 1.37.0.1
Zugehöriges Plugin/Theme
Ultimate Addons for Elementor
Themen-Tags
Compatibility

Übersicht über das Problem

Bei Verwendung des Content Toggle-Widgets aus dem Ultimate Addons for Elementor-Plugin werden übersetzte Elementor-Templates nicht korrekt angezeigt, wenn Sie den Erweiterten Übersetzungs-Editor (ATE) verwenden. Anstatt das übersetzte Template anzuzeigen, zeigt das Widget den Inhalt in der Originalsprache auf der übersetzten Seite an.

Problemumgehung

Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.


  • Öffnen Sie die Datei functions.php Ihres Themes.

  • Fügen Sie das folgende Snippet hinzu:
    // WPML: Workaround for compsupp-7677
    add_filter('elementor/frontend/before_render', 'wpml_compsupp7677_translate_content_toggle');
    
    function wpml_compsupp7677_translate_content_toggle($element) {
        if (!class_exists('SitePress') || 'uael-content-toggle' !== $element->get_name()) {
            return;
        }
    
        $settings = $element->get_settings();
        $keys_to_convert = [
            'section_content_',
            'saved_pages_', 
            'section_saved_rows_'
        ];
    
        $modified = false;
        foreach ($keys_to_convert as $key) {
            for ($i = 1; $i <= 2; $i++) {
                $setting_key = $key . $i;
                
                if (isset($settings[$setting_key]) && is_numeric($settings[$setting_key])) {
                    $post_type = get_post_type($settings[$setting_key]);
                    
                    if ($post_type) {
                        $settings[$setting_key] = apply_filters(
                            'wpml_object_id',
                            $settings[$setting_key],
                            $post_type,
                            true
                        );
                        $modified = true;
                    }
                }
            }
        }
    
        if ($modified) {
            $element->set_settings($settings);
        }
    }

Alle bekannten Probleme →