WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML Multilingual & Multicurrency for WooCommerce 5.1.2
แก้ไขใน
WCML 5.2.0
แท็กหัวข้อ
Bug

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

หากลูกค้าของเอเจนซี่ทำการสั่งซื้อในภาษารองที่มีสินค้าแบบปรับเปลี่ยนได้ของ WooCommerce รวมอยู่ด้วย จะมีการแสดง ID ของสินค้าต้นฉบับและ ID ของสินค้าแบบปรับเปลี่ยนได้ที่แปลแล้วบนคำสั่งซื้อ ซึ่งที่จริงแล้วควรแสดงเฉพาะ ID ของสินค้าต้นฉบับเท่านั้น

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

โปรดสำรองข้อมูลเว็บไซต์ของคุณอย่างครบถ้วนก่อนดำเนินการต่อ


  1. เปิดไฟล์ …/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-orders.php

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

  3. แทนที่:
    	private function adjust_product_item_if_translated( $item, $language_to_filter ) {
    
    		$product_id            = $item->get_product_id();
    		$translated_product_id = apply_filters( 'translate_object_id', $product_id, 'product', true, $language_to_filter );
    		if ( $product_id && $product_id !== $translated_product_id ) {
    			$item->set_product_id( $translated_product_id );
    			$item->set_name( get_post( $translated_product_id )->post_title );
    			return true;
    		}
    
    		return false;
    	}
    ด้วย:
    	private function adjust_product_item_if_translated( $item, $language_to_filter ) {
    
    		$product_id            = $item->get_product_id();
    		$translated_product_id = apply_filters( 'translate_object_id', $product_id, 'product', true, $language_to_filter );
            $variation_id           = $item->get_variation_id();
            $translated_variation_id = apply_filters( 'translate_object_id', $variation_id, 'product_variation', true, $language_to_filter );
    		if ( $product_id && $product_id !== $translated_product_id ) {
    			$item->set_product_id( $translated_product_id );
    			$item->set_name( get_post( $translated_product_id )->post_title );
    			//return true;
    		}
            if ( $variation_id && $variation_id !== $translated_variation_id ) {
                $item->set_variation_id( $translated_variation_id );
                $item->set_name( get_post( $translated_variation_id )->post_title );
                //	return true;
            }
    
    		return true;
    	}

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