WPML
Status
Gelöst
Gemeldet für
WPML Multilingual & Multicurrency for WooCommerce 5.5.2.1
Gelöst in
WooCommerce Multilingual & Multicurrency 5.5.2.2
Themen-Tags
WCML

Übersicht über das Problem

In WPML Multilingual & Multicurrency for WooCommerce kann es vorkommen, dass beim Übersetzen eines variablen Produkts die Standardvariante in der zweiten Sprache entweder fehlt oder fälschlicherweise auf 0 gesetzt ist.

Dies geschieht, wenn sich die Werte term_id und term_taxonomy_id unterscheiden, was bei globalen Produktattributen auftreten kann.

Problemumgehung

Bitte stellen Sie sicher, dass Sie über ein vollständiges Website-Backup verfügen, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/woocommerce-multilingual/classes/Synchronization/Component/Attributes.php.

  • Suchen Sie nach Zeile 137.

  • Ersetzen Sie:
    $defaultTermIdTranslations = $this->elementTranslations->get_element_translations( $defaultTermId, false, true );


  • Durch:
    $defaultTermIdTranslations = [];


  • Suchen Sie in derselben Datei nach Zeile 149 und ersetzen Sie:
    $translatedDefaultTermId = $this->elementTranslations->element_id_in( $defaultTermId, $language );


  • Durch:
    $translatedDefaultTermId = apply_filters( 'wpml_object_id', $defaultTermId, $sanitizedAttributeName, false, $language );


  • Nachdem Sie diese Änderungen angewendet haben, müssen Sie die Produkte mit diesem Problem manuell speichern oder aktualisieren.

Alle bekannten Probleme →