- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual & Multicurrency for WooCommerce 5.3.2
- แท็กหัวข้อ
- WCML
ภาพรวมของปัญหา
หากคุณมีสินค้าแบบมีตัวเลือกใน WooCommerce และสินค้าหมดสต็อกจากคำสั่งซื้อที่ทำในภาษารอง สต็อกจะไม่อัปเดตในภาษาอื่น ๆ ดังนั้น สินค้าจะแสดงเป็น “หมดสต็อก” ในภาษาที่มีการสั่งซื้อ และแสดงว่ามีสินค้าในทุกภาษาอื่น ๆ
วิธีแก้ปัญหาชั่วคราว
- สร้างข้อมูลสำรองสำหรับไซต์ของคุณ
- เปิดไฟล์ wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-synchronize-product-data.php
- แทนที่
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 ); } } }ด้วย:
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 ); } } // }