- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 4.11.6
- Đã giải quyết trong
- 4.12.0
Tổng quan về lỗi
WooCommerce cung cấp cho bạn widget Lọc theo giá cho phép người dùng dễ dàng lọc sản phẩm của bạn.
Hiện tại, nếu bạn đang sử dụng tính năng đa tiền tệ của chúng tôi, bạn sẽ nhận thấy rằng ở các loại tiền tệ phụ, giá trị min và max hiển thị chính xác, tuy nhiên, bộ lọc lại sử dụng các mức giá từ ngôn ngữ mặc định. Điều này khiến nó hiển thị kết quả sai.
Giải pháp tạm thời
Trước khi tiếp tục, hãy sao lưu toàn bộ trang web của bạn. Sau đó:
- Mở thư mục WooCommerce Multilingual của bạn.
- Tìm tệp /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php.
- Đi đến dòng 620.
- Thay đổi:
$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'] );
Thành:
$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'] );