WPML

Resumen del problema

WooCommerce le ofrece un widget Filtrar por precio que permite a sus usuarios filtrar fácilmente sus productos.

Actualmente, si utiliza nuestra función multimoneda, notará que en las monedas secundarias, los valores mín. y máx. se muestran correctamente; sin embargo, el filtro utiliza los precios del idioma predeterminado. Esto hace que muestre resultados incorrectos.

Solución alternativa

Este problema está solucionado. Actualizar a la última versión lo soluciona en su sitio, por lo que solo necesita esta solución alternativa si aún no puede actualizar.

Antes de continuar, haga una copia de seguridad completa de su sitio. Luego:

  1. Abra su carpeta de WooCommerce Multilingual.
  2. Busque el archivo /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php.
  3. Vaya a la línea 620.
  4. Cambie:
    $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'] );

    Por:

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

Todos los problemas conocidos

¿Sigue teniendo este problema?

Si actualizar no lo soluciona, haga una consulta de soporte y lo revisaremos con usted.