WPML

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

เมื่อส่งอีเมลจากปลั๊กอิน YITH Affiliate, YITH Giftcards, WCFM และอาจรวมถึงปลั๊กอินอื่น ๆ คุณอาจพบข้อผิดพลาดในลักษณะนี้:

PHP Fatal error:  Uncaught Error: Call to a member function get_id() on array in /public_html/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php:395

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

ปัญหานี้ได้รับการแก้ไขแล้วใน WooCommerce Multilingual 4.9.0-b1 การอัปเดตจะแก้ปัญหานี้บนไซต์ของคุณ ดังนั้นคุณจึงต้องใช้วิธีแก้ปัญหาชั่วคราวนี้เฉพาะเมื่อคุณยังไม่สามารถอัปเดตได้

นักพัฒนาของเรากำลังดำเนินการแก้ไขปัญหานี้
สำหรับวิธีแก้ปัญหาชั่วคราว และหลังจากที่คุณแน่ใจว่าได้สำรองข้อมูลไซต์ของคุณอย่างสมบูรณ์แล้วเท่านั้น คุณสามารถไปที่ wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php และเปลี่ยนโค้ดจาก:

public function get_email_translated_string( $key,
		$object, $language)
	{

	$context = 'admin_texts_woocommerce_' . $object->id . '_settings';
	$name    = '[woocommerce_' . $object->id . '_settings]' . $key;

	return $this->wcml_get_translated_email_string( $context, $name, $object->object->get_id(), $language );

เป็นโค้ดนี้:

public function get_email_translated_string( $key, $object, $language ) {
    $context = 'admin_texts_woocommerce_' . $object->id . '_settings';
    $name = '[woocommerce_' . $object->id . '_settings]' . $key;

    $order_id = false;

    if ( method_exists( $object->object, 'get_id' ) ) {
        $order_id = $object->object->get_id();
    }

    if ( is_array( $object->object ) && isset( $object->object['ID'] ) ) {
        $order_id = $object->object['ID'];
    }

    return $this->wcml_get_translated_email_string( $context, $name, $order_id, $language );
}

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

ยังคงพบปัญหานี้อยู่หรือไม่

หากการอัปเดตไม่สามารถแก้ไขปัญหานี้ได้ ส่งคำถามถึงฝ่ายสนับสนุน และเราจะตรวจสอบร่วมกับคุณ