WPML
상태
해결됨
보고된 제품
WPML Multilingual & Multicurrency for WooCommerce 4.11.6
해결된 버전
4.12.0

문제 개요

WooCommerce는 사용자가 제품을 쉽게 필터링할 수 있는 가격 필터 위젯을 제공합니다.

현재 다중 통화 기능을 사용 중인 경우, 보조 통화에서 minmax 값은 올바르게 표시되지만 필터가 기본 언어의 가격을 사용하는 것을 확인할 수 있습니다. 이로 인해 잘못된 결과가 표시됩니다.

임시 해결 방법

진행하기 전에 사이트를 전체 백업하세요. 그런 다음:


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

알려진 모든 문제 →