WPML
Statut
Résolu par l’auteur
Résolu dans
Ultimate Addons for Elementor Version 1.37.0.1
Extension/thème associé
Ultimate Addons for Elementor
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Lors de l’utilisation du widget Content Toggle de l’extension Ultimate Addons for Elementor, les modèles Elementor traduits ne s’affichent pas correctement avec l’Éditeur de traduction avancé (ATE). Au lieu d’afficher le modèle traduit, le widget affiche le contenu dans la langue d’origine sur la page traduite.

Solution de contournement

Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier functions.php de votre thème.

  • Ajoutez l’extrait suivant :
    // 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);
        }
    }

Toutes les anomalies connues →