WPML

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

WooCommerce มีวิดเจ็ต กรองตามราคา ให้คุณ ซึ่งช่วยให้ผู้ใช้ของคุณสามารถกรองสินค้าได้อย่างง่ายดาย

ปัจจุบัน หากคุณใช้ฟีเจอร์หลายสกุลเงินของเรา คุณจะสังเกตเห็นว่าในสกุลเงินรอง ค่า min และ max จะแสดงผลอย่างถูกต้อง อย่างไรก็ตาม ตัวกรองจะใช้ราคาจากภาษาเริ่มต้น ซึ่งทำให้แสดงผลลัพธ์ที่ไม่ถูกต้อง

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

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

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

  1. เปิดโฟลเดอร์ WooCommerce Multilingual ของคุณ
  2. ค้นหาไฟล์ /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php
  3. ไปที่บรรทัด 620
  4. เปลี่ยน:
    $args['where'] = str_replace( $wpdb->prepare( 'wc_product_meta_lookup.min_price >= %f', $min_price ), $wpdb->prepare( 'wc_product_meta_lookup.min_price >= %f', $min_price_in_default_currency ), $args['where'] );
    $args['where'] = str_replace( $wpdb->prepare( 'wc_product_meta_lookup.max_price <= %f', $max_price ), $wpdb->prepare( 'wc_product_meta_lookup.max_price <= %f', $max_price_in_default_currency ), $args['where'] );

    เป็น:

    $args['where'] = str_replace( $wpdb->prepare( '%f<wc_product_meta_lookup.min_price', $max_price ), $wpdb->prepare( '%f<wc_product_meta_lookup.min_price', $max_price_in_default_currency ), $args['where'] );
    $args['where'] = str_replace( $wpdb->prepare( '%f>wc_product_meta_lookup.max_price', $min_price ), $wpdb->prepare( '%f>wc_product_meta_lookup.max_price', $min_price_in_default_currency ), $args['where'] );

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

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

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