- الحالة
- محلولة
- أُبلغ عنها لـ
- 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 ); } } // }