- สถานะ
- แก้ไขแล้ว
- ประเภท
- บั๊ก
- รายงานสำหรับ
- WP All Import Multilingual 2.3.0
- แก้ไขใน
- WP All Import Multilingual 2.3.1
- ปลั๊กอิน/ธีมที่เกี่ยวข้อง
- WP All Import
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อนำเข้าสินค้าที่มีหลายรูปแบบด้วย WP All Import และ ส่วนเสริม WPML All Import บนเซิร์ฟเวอร์ที่รัน PHP 8 คุณจะพบข้อผิดพลาดต่อไปนี้:
PHP Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, class WCML_Synchronize_Product_Data does not have a method “delete_empty_post_meta_for_translations” in /wp-includes/class-wp-hook.php:309
ใน PHP 7.0 ข้อผิดพลาดนี้จะแสดงเป็นคำเตือน
วิธีแก้ปัญหาชั่วคราว
โปรดสำรองข้อมูลทั้งหมดของไซต์ของคุณก่อนดำเนินการต่อ
- เปิดไฟล์ …/wp-content/plugins/wpml-all-import/classes/WCML.php
- ค้นหาบรรทัดที่ 35 และคอมเมนต์ออก:
//remove_action( 'deleted_post_meta', [ $WCMLSynchronizeProductData, 'delete_empty_post_meta_for_translations' ], 10, 3 );
- ทำเช่นเดียวกันกับบรรทัดที่ 46:
//add_action( 'deleted_post_meta', [ $this->getWCMLSynchronizeProductData(), 'delete_empty_post_meta_for_translations' ], 10, 3 );