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

모든 알려진 문제

여전히 이 문제가 발생합니까?

업데이트해도 문제가 해결되지 않으면 지원 문의를 하세요. 함께 살펴보겠습니다.