WPML
Estado
Resuelto por el autor
Resuelto en
Ultimate Addons for Elementor Version 1.37.0.1
Plugin/tema relacionado
Ultimate Addons for Elementor
Etiquetas de temática
Compatibility

Resumen del problema

Al usar el widget Content Toggle del plugin Ultimate Addons for Elementor, las plantillas de Elementor traducidas no se muestran correctamente al utilizar el Editor de traducción avanzado (ATE). En lugar de mostrar la plantilla traducida, el widget muestra el contenido del idioma original en la página traducida.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo functions.php de su tema.

  • Añada el siguiente fragmento de código:
    // 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);
        }
    }

Todos los problemas conocidos →