- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- WooCommerce Multilingual 4.7.5
ภาพรวมของปัญหา
ไซต์ WooCommerce ที่ใช้หลายสกุลเงินอาจส่งผลให้ปลั๊กอินของบุคคลที่สามเรียกใช้ get_cart ก่อนการดำเนินการ wp_loaded ซึ่งเป็นสิ่งที่ WooCommerce ไม่อนุญาตอย่างชัดเจน
จนถึงขณะนี้ เราได้รับรายงานเมื่อใช้ปลั๊กอิน เกตเวย์ชำระเงิน oGone, WC Deposits & Booster for WooCommerce แต่ปลั๊กอินอื่น ๆ อาจได้รับผลกระทบเช่นกัน
เรากำลังดำเนินการหาวิธีที่ดีที่สุดในการแก้ไขปัญหานี้และเผยแพร่อัปเดต แต่ในระหว่างนี้ คุณสามารถลองใช้วิธีแก้ปัญหาชั่วคราวด้านล่างได้
วิธีแก้ปัญหาชั่วคราว
แก้ไขไฟล์ wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php และเปลี่ยนบรรทัดที่ 30 จาก:
add_action( 'init', array( $this, 'init_gateways' ) );
เป็น:
add_action( 'wp_loaded', array( $this, 'init_gateways' ) );