- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual & Multicurrency for WooCommerce 4.0.4
- แก้ไขใน
- WPML Multilingual & Multicurrency for WooCommerce 4.1.0
ภาพรวมของปัญหา
หากคุณกำลังใช้ WPML เวอร์ชันเก่า – เช่น 3.4.0 และคุณอัปเดตจาก WPML Multilingual & Multicurrency for WooCommerce 4.0.3 เป็น 4.0.4 คุณอาจพบข้อผิดพลาดร้ายแรงที่คล้ายกับข้อความต่อไปนี้:
"PHP Fatal error: Call to undefined method WPML_WP_API::is_comments_post_page() in /wp-content/plugins/woocommerce-multilingual/inc/wcml-switch-lang-request.php on line 136"
วิธีแก้ปัญหาชั่วคราว
มี 2 วิธีในการแก้ไขปัญหานี้:
1. อัปเดต WPML เป็นเวอร์ชันล่าสุด – นี่เป็นวิธีที่แนะนำ รวดเร็วที่สุด และปลอดภัยที่สุด
2. ใช้โค้ดต่อไปนี้เพื่อแพตช์และแทนที่ฟังก์ชัน get_requested_lang() ในไฟล์ /woocommerce-multilingual/inc/wcml-switch-lang-request.php
public function get_requested_lang() {
return $this->is_comments_post_page() ? $this->get_cookie_lang() : $this->get_request_uri_lang();
}
public function is_comments_post_page() {
global $pagenow;
return 'wp-comments-post.php' === $pagenow;
}