WPML
สถานะ
แก้ไขแล้ว
ประเภท
บั๊ก
รายงานสำหรับ
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 ข้อผิดพลาดนี้จะแสดงเป็นคำเตือน

วิธีแก้ปัญหาชั่วคราว

โปรดสำรองข้อมูลทั้งหมดของไซต์ของคุณก่อนดำเนินการต่อ


  1. เปิดไฟล์ …/wp-content/plugins/wpml-all-import/classes/WCML.php

  2. ค้นหาบรรทัดที่ 35 และคอมเมนต์ออก:
    //remove_action( 'deleted_post_meta', [ $WCMLSynchronizeProductData, 'delete_empty_post_meta_for_translations' ], 10, 3 );


  3. ทำเช่นเดียวกันกับบรรทัดที่ 46:
    //add_action( 'deleted_post_meta', [ $this->getWCMLSynchronizeProductData(), 'delete_empty_post_meta_for_translations' ], 10, 3 );

ปัญหาที่ทราบแล้วทั้งหมด