- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- WPML Multilingual & Multicurrency for WooCommerce 5.5.3
- แท็กหัวข้อ
- WCML
ภาพรวมของปัญหา
เมื่อส่งสินค้าสำหรับการแปล ในบางกรณีสินค้าอาจติดค้างได้
อาการหลักของกรณีเฉพาะนี้คือมี PHP Warning ใน debug.log:
>PHP Warning Undefined array key “values” in /var/www/sites/red-harmonica/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-tp-support.php on line 158
ปัญหานี้เกิดขึ้นเมื่อสินค้ามีแอตทริบิวต์ที่มีค่าประกอบด้วยอักขระพิเศษทั้งหมด เช่น “+ & -” ซึ่งไม่มีตัวอักษรอยู่เลย
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้จะได้รับการแก้ไขใน WCML 5.5.3 แต่ในระหว่างนี้คุณสามารถแก้ไขไฟล์ปลั๊กอิน wp-content/plugins/woocommerce-multilingual/inc/class-wcml-tp-support.php ได้โดยตรง
ค้นหาบรรทัดนี้ (บรรทัดที่ 158 ในเวอร์ชันปัจจุบัน):
$product_attributes[ $attribute_key ]['value'] = join( ' | ', $attribute['values'] );
และแทนที่ด้วย
$product_attributes[ $attribute_key ]['value'] = isset( $attribute['values'] ) ? join( ' | ', $attribute['values'] ) : $product_attributes[ $attribute_key ]['value'];