WPML
Stato
Risolto dall’autore
Risolto in
Ultimate Addons for Elementor Version 1.37.0.1
Plugin/tema correlato
Ultimate Addons for Elementor
Tag dell’argomento
Compatibility

Panoramica del problema

Quando utilizzi il widget Content Toggle del plugin Ultimate Addons for Elementor, i template di Elementor tradotti non vengono visualizzati correttamente se usi l’Editor di traduzione avanzato (ATE). Invece di mostrare il template tradotto, il widget visualizza il contenuto nella lingua originale sulla pagina tradotta.

Soluzione alternativa

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


  • Apri il file functions.php del tuo tema.

  • Aggiungi il seguente snippet:
    // 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);
        }
    }

Tutti i problemi noti →