WPML

Aperçu de l’anomalie

WooCommerce vous fournit un widget Filtrer par prix qui permet à vos utilisateurs de filtrer facilement vos produits.

Actuellement, si vous utilisez notre fonctionnalité multidevise, vous remarquerez que dans les devises secondaires, les valeurs min et max s’affichent correctement, cependant le filtre utilise les prix de la langue par défaut. Cela entraîne l’affichage de résultats erronés.

Solution de contournement

Ce problème est résolu. La mise à jour vers la dernière version résout le problème sur votre site, vous n’avez donc besoin de cette solution de contournement que si vous ne pouvez pas encore mettre à jour.

Avant de continuer, faites une sauvegarde complète de votre site. Ensuite :

  1. Ouvrez votre dossier WooCommerce Multilingual.
  2. Trouvez le fichier /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.php.
  3. Allez à la ligne 620.
  4. Remplacez :
    $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'] );

    Par :

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

Toutes les anomalies connues

Vous rencontrez toujours ce problème ?

Si la mise à jour ne résout pas le problème, faites une demande d’assistance et nous l’examinerons avec vous.