- Estado
- Resuelto
- Resuelto en
- WPML Multilingual CMS 4.7.4
- Plugin/tema relacionado
- Elementor
- Etiquetas de temática
- Compatibility
Resumen del problema
Al usar el Loop Grid de Elementor Pro con plantillas alternativas, el contenido no dinámico traducido dentro de la plantilla del bucle no aparece en el idioma correcto en el frontend. Este problema ocurre porque los ID de las plantillas alternativas no se traducen.
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 código:
// WPML Workaround for compsupp-6865 add_filter('elementor/frontend/before_render', 'wpml_compsupp6865_filter_loop_grid_widget'); function wpml_compsupp6865_filter_loop_grid_widget($element) { if ('loop-grid' !== $element->get_name()) { return $element; } $settings = $element->get_settings(); if (!isset($settings['alternate_templates']) || !is_array($settings['alternate_templates'])) { return $element; } $alternate_settings = $settings['alternate_templates']; foreach ($alternate_settings as $key => $value) { if (empty($value['template_id']) || !is_numeric($value['template_id'])) { continue; } // Use apply_filters to adjust template_id for WPML $id = apply_filters('wpml_object_id', $value['template_id'], get_post_type($value['template_id']), true); if (!is_numeric($id)) { continue; } // Update the template_id in alternate_settings $alternate_settings[$key]['template_id'] = $id; } // Update the settings with the modified alternate_templates $settings['alternate_templates'] = $alternate_settings; $element->set_settings('alternate_templates', $settings['alternate_templates']); }