WPML
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ị minmax 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 đó:


  1. Mở thư mục WooCommerce Multilingual của bạn.

  2. Tìm tệp /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php.

  3. Đi đến dòng 620.

  4. 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'] );

Tất cả các lỗi đã ghi nhận →