- Status
- Gelöst
- Gemeldet für
- WPML Multilingual CMS 4.5.14
- Gelöst in
- WPML 4.6.4
- Zugehöriges Plugin/Theme
- Elementor
- Themen-Tags
- Compatibility
Übersicht über das Problem
Wenn Sie die Funktion Elementor-Loop-Template verwenden, werden Buttons im Frontend nicht übersetzt, selbst wenn sie im Erweiterten Übersetzungs-Editor zur Übersetzung verfügbar sind.
Problemumgehung
Bitte erstellen Sie unbedingt ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.
- Öffnen Sie die Datei /wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Elementor/class-wpml-elementor-translate-ids.php.
- Suchen Sie nach Zeile 108.
- Ersetzen Sie die Methode
WPML_Elementor_Translate_IDs::translate_global_widget_ids():public function translate_global_widget_ids( $data_array, $post_id ) { foreach ( $data_array as &$data ) { if ( isset( $data['elType'] ) && 'widget' === $data['elType'] ) { if ( 'global' === $data['widgetType'] ) { $data['templateID'] = $this->translate_id( $data['templateID'] ); } elseif ( 'template' === $data['widgetType'] ) { $data['settings']['template_id'] = $this->translate_id( $data['settings']['template_id'] ); } } $data['elements'] = $this->translate_global_widget_ids( $data['elements'], $post_id ); } return $data_array; }durch:
public function translate_global_widget_ids( $data_array, $post_id ) { foreach ( $data_array as &$data ) { if ( isset( $data['elType'] ) && 'widget' === $data['elType'] ) { if ( 'global' === $data['widgetType'] ) { $data['templateID'] = $this->translate_id( $data['templateID'] ); } elseif ( 'template' === $data['widgetType'] || 'loop-grid' === $data['widgetType'] || 'loop-carousel' === $data['widgetType']) { $data['settings']['template_id'] = $this->translate_id( $data['settings']['template_id'] ); } } $data['elements'] = $this->translate_global_widget_ids( $data['elements'], $post_id ); } return $data_array; } - Übersetzen Sie das Elementor-Loop-Template unter WPML → Übersetzungsmanagement.