WPML

Panoramica del problema

WooCommerce ti fornisce un widget Filtra per prezzo che permette ai tuoi utenti di filtrare facilmente i tuoi prodotti.

Attualmente, se stai usando la nostra funzionalità multivaluta, noterai che nelle valute secondarie i valori min e max vengono visualizzati correttamente, tuttavia il filtro utilizza i prezzi della lingua predefinita. Questo fa sì che mostri risultati errati.

Soluzione alternativa

Questo problema è stato risolto. L’aggiornamento all’ultima versione risolve il problema sul tuo sito, quindi hai bisogno di questa soluzione alternativa solo se non puoi ancora aggiornare.

Prima di procedere, esegui un backup completo del tuo sito. Quindi:

  1. Apri la cartella di WooCommerce Multilingual.
  2. Trova il file /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php.
  3. Vai alla riga 620.
  4. Sostituisci:
    $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'] );

    Con:

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

Tutti i problemi noti

Riscontri ancora questo problema?

Se l’aggiornamento non risolve il problema, fai una richiesta di supporto e lo analizzeremo con te.