- Status
- Gelöst
- Gemeldet für
- WPML Multilingual & Multicurrency for WooCommerce 5.3.2
- Themen-Tags
- WCML
Übersicht über das Problem
Wenn Sie ein variables Produkt in WooCommerce haben und es durch eine Bestellung in der Sekundärsprache nicht mehr auf Lager ist, wird der Lagerbestand in den anderen Sprachen nicht aktualisiert. Daher wird es in der Sprache, in der die Bestellung getätigt wurde, als „nicht vorrätig“ angezeigt und in allen anderen Sprachen als verfügbar.
Problemumgehung
- Erstellen Sie ein Backup Ihrer Website
- Öffnen Sie die Datei wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-synchronize-product-data.php
- Ersetzen Sie
public function sync_stock_status_for_translations( $product_id, $status ) { if ( $this->woocommerce_wpml->products->is_original_product( $product_id ) ) { $translations = $this->post_translations->get_element_translations( $product_id, false, true ); foreach ( $translations as $translation ) { $this->woocommerce_wpml->products->update_stock_status( $translation, $status ); $this->wc_taxonomies_recount_after_stock_change( $translation ); } } }durch:
public function sync_stock_status_for_translations( $product_id, $status ) { // if ( $this->woocommerce_wpml->products->is_original_product( $product_id ) ) { $translations = $this->post_translations->get_element_translations( $product_id, false, false ); foreach ( $translations as $translation ) { $this->woocommerce_wpml->products->update_stock_status( $translation, $status ); $this->wc_taxonomies_recount_after_stock_change( $translation ); } } // }