WPML

ภาพรวมของปัญหา

เมื่อพยายามแปลฟอร์มของปลั๊กอิน Give – Donation จะเกิดข้อผิดพลาดร้ายแรงขึ้นแทนที่จะเปิดตัวแก้ไขการแปล:

PHP Fatal error: Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, string given in .../wp-content/plugins/sitepress-multilingual-cms/classes/translation-jobs/class-wpml-element-translation-package.php:318

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

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

  • เปิดไฟล์ …/wp-content/plugins/give/includes/database/class-give-db-meta.php
  • ค้นหาบรรทัดที่ 151
  • แทนที่:
    if ( $this->raw_result ) {
    	if ( ! ( $value = get_metadata( $this->meta_type, $id, $meta_key, false ) ) ) {
    		$value = '';
    	}
  • ด้วย:
    if ( $this->raw_result ) {
    	if ( ! ( $value = get_metadata( $this->meta_type, $id, $meta_key, false ) ) ) {
    		$value = array();
    	}

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