- 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.