Affichage incorrect des prix en devises étrangères
Bonjour,
Je me permets de vous contacter aujourd'hui, car je rencontre un problème depuis plusieurs semaines sur le site d'une cliente (https://www.maison-alcee.com/).
Ce site utilise plusieurs extensions, notamment WooCommerce Multilingual & Multicurrency with WPML ainsi que NitroPack. L'objectif est d'afficher, par exemple, le prix de la Persée Azur (https://www.maison-alcee.com/produit/persee/#azur) à 7 500 € HT pour les utilisateurs en France, et à $8 900 hors taxes pour les utilisateurs aux États-Unis.
Le problème rencontré est le suivant :
Lorsque mon VPN est désactivé et que je me trouve en France, le prix s'affiche correctement en euros.
Cependant, lorsque j'active le VPN pour simuler une connexion depuis les États-Unis, le montant s'affiche parfois correctement ($8 900 hors taxes), mais la plupart du temps, il reste affiché en euros (7 500 € HT).
J'ai trouvé une solution proposée ici : https://wpml.org/forums/topic/nitrop...ulti-currency/
J'ai donc ajouté le code suivant dans le fichier functions.php de mon thème Wordpress :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| function wcml_set_custom_currency_cookie( $currency = false ) {
if ( is_admin() && !( defined('DOING_AJAX') && DOING_AJAX ) )
return;
if ( !empty( $currency ) ) {
setcookie('wcml_custom_currency_cookie', $currency, time() + 60*60*24*7, '/');
return;
}
if ( empty( $_COOKIE['wcml_custom_currency_cookie'] ) && function_exists( 'get_woocommerce_currency' ) ) {
setcookie('wcml_custom_currency_cookie', get_woocommerce_currency(), time() + 60*60*24*7, '/');
}
}
add_action('wcml_switch_currency', 'wcml_set_custom_currency_cookie');
add_action('init', 'wcml_set_custom_currency_cookie'); |
J'ai également ajouté wcml_custom_currency_cookie (https://ibb.co/vV9Zvkk) dans les paramètres de NitroPack (Cache Settings > Cache).
Malheureusement, le problème persiste.
Pour information, j'utilise un VPN pour effectuer mes tests.
Auriez-vous des suggestions ou des pistes à explorer pour résoudre ce problème ?
Merci par avance,
Loïc V.
Affichage incorrect des prix en devises étrangères
Bonjour,
Etant donné que le script se passe dans functions.php, je ne pense pas que le souci provienne du VPN puisque le script devrait fonctionner identiquement.
Je pense qu'il s'agit plutôt d'un problème de cache que vous avez en passant d'une devise à l'autre mais qu'il ne devrait pas être rencontré 'en live' chez les visiteurs du site.
Il faudrait rafraichir le cache entre la conversion de devises.
Le souci peut aussi être dû au paramétrage si vous utilisez un plugin de conversion de devises (comme WooCommerce Currency Switcher).
Ou bien de la détection géographique, si l'adresse IP du pc est fixe, il peut conserver la géolocalisation en France et non aux Etats-Unis.