- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual & Multicurrency for WooCommerce 5.1.2
- แก้ไขใน
- WCML 5.2.0
- แท็กหัวข้อ
- Bug
ภาพรวมของปัญหา
หากลูกค้าของเอเจนซี่ทำการสั่งซื้อในภาษารองที่มีสินค้าแบบปรับเปลี่ยนได้ของ WooCommerce รวมอยู่ด้วย จะมีการแสดง ID ของสินค้าต้นฉบับและ ID ของสินค้าแบบปรับเปลี่ยนได้ที่แปลแล้วบนคำสั่งซื้อ ซึ่งที่จริงแล้วควรแสดงเฉพาะ ID ของสินค้าต้นฉบับเท่านั้น
วิธีแก้ปัญหาชั่วคราว
โปรดสำรองข้อมูลเว็บไซต์ของคุณอย่างครบถ้วนก่อนดำเนินการต่อ
- เปิดไฟล์ …/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-orders.php
- ค้นหาบรรทัดที่ 191
- แทนที่:
private function adjust_product_item_if_translated( $item, $language_to_filter ) { $product_id = $item->get_product_id(); $translated_product_id = apply_filters( 'translate_object_id', $product_id, 'product', true, $language_to_filter ); if ( $product_id && $product_id !== $translated_product_id ) { $item->set_product_id( $translated_product_id ); $item->set_name( get_post( $translated_product_id )->post_title ); return true; } return false; }ด้วย:private function adjust_product_item_if_translated( $item, $language_to_filter ) { $product_id = $item->get_product_id(); $translated_product_id = apply_filters( 'translate_object_id', $product_id, 'product', true, $language_to_filter ); $variation_id = $item->get_variation_id(); $translated_variation_id = apply_filters( 'translate_object_id', $variation_id, 'product_variation', true, $language_to_filter ); if ( $product_id && $product_id !== $translated_product_id ) { $item->set_product_id( $translated_product_id ); $item->set_name( get_post( $translated_product_id )->post_title ); //return true; } if ( $variation_id && $variation_id !== $translated_variation_id ) { $item->set_variation_id( $translated_variation_id ); $item->set_name( get_post( $translated_variation_id )->post_title ); // return true; } return true; }