WPML
Status
Gelöst
Gelöst in
WPML Multilingual CMS 4.7.4
Zugehöriges Plugin/Theme
Elementor
Themen-Tags
Compatibility

Übersicht über das Problem

Bei der Verwendung des Loop-Grids von Elementor Pro mit alternativen Templates werden nicht-dynamische Inhalte, die innerhalb des Loop-Templates übersetzt wurden, im Frontend nicht in der richtigen Sprache angezeigt. Dieses Problem tritt auf, weil die IDs der alternativen Templates nicht übersetzt werden.

Problemumgehung

Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.


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

  • Fügen Sie den folgenden Code hinzu:
    // 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']);
    }

Alle bekannten Probleme →