WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML Multilingual & Multicurrency for WooCommerce 5.1.3
แก้ไขใน
WCML 5.2.0
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
Avada
แท็กหัวข้อ
Compatibility

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

เมื่อใช้ Avada +7.10 ร่วมกับ WPML Multilingual & Multicurrency for WooCommerce จะเกิดข้อผิดพลาดร้ายแรงต่อไปนี้หากคุณพยายามสร้างหน้าโดยใช้ Live Editor ของ Avada

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

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

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


  1. เปิดไฟล์ …/wp-content/plugins/woocommerce/includes/class-wc-order-item-product.php

  2. ค้นหาบรรทัดที่ 403

  3. แทนที่บรรทัดนี้:
    return apply_filters( 'woocommerce_get_item_downloads', $files, $this, $order );
    ด้วย:
    // WPML workaround for compsupp-6711
    if ( class_exists('Sitepress') && ! is_object($order) ) {
    	global $woocommerce_wpml;			
    
    	if ( $woocommerce_wpml && isset( $woocommerce_wpml->orders ) ) {
    		$removed = remove_filter( 'woocommerce_get_item_downloads', [ $woocommerce_wpml->orders, 'filter_downloadable_product_items' ], 10 );
    	}
    }		
    
    $result = apply_filters( 'woocommerce_get_item_downloads', $files, $this, $order );
    
    // Maybe restore the filter
    if ( $removed ) {
    	add_filter( 'woocommerce_get_item_downloads', [ $woocommerce_wpml->orders, 'filter_downloadable_product_items' ], 10, 3 );
    }
    
    return $result;

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