Comment changer la devise avec la langue dans WPML
Dans une boutique multilingue, la devise appartient généralement à la langue. Les lier signifie qu'un visiteur qui passe à l'allemand voit les prix en euros sans toucher du tout au changeur de devise.
WPML :
- ouvrez le fichier functions.php de votre thème WordPress actuel
- insérez-y le code PHP suivant :
add_filter('wp_head', function() { $lang = ICL_LANGUAGE_CODE; global $WOOCS; switch ($lang) { case 'bg': $WOOCS->set_currency('BGN'); break; case 'en': $WOOCS->set_currency('EUR'); break; default: $WOOCS->set_currency('USD'); break; } }); - Consultez la documentation WPML sur les codes de langue
Polylang et TranslatePress :
- ouvrez le fichier functions.php de votre thème WordPress actuel
- insérez-y le code PHP suivant :
add_filter('wp_head', function() { $lang = get_locale(); global $WOOCS; switch ($lang) { case 'bg_BG': $WOOCS->set_currency('BGN'); break; case 'en_GB': $WOOCS->set_currency('EUR'); break; default: $WOOCS->set_currency('USD'); break; } }); - https://wordpress.org/support/topic/switch-currency-with-language-change-polylang/
- Consultez la documentation Polylang sur les codes de langue
GTranslate :
- ouvrez le fichier functions.php de votre thème WordPress actuel
- insérez-y le code PHP suivant :
add_filter('wp_head', function() { $lang = isset($_SERVER['HTTP_X_GT_LANG']) ? $_SERVER['HTTP_X_GT_LANG'] : ''; global $WOOCS; switch ($lang) { case 'bg_BG': $WOOCS->set_currency('BGN'); break; case 'en_GB': $WOOCS->set_currency('EUR'); break; default: $WOOCS->set_currency('USD'); break; } }); - https://wordpress.org/plugins/gtranslate/
Intégration qTranslate X :
- ouvrez le fichier functions.php de votre thème WordPress actuel
- insérez-y le code PHP suivant :
add_action('wp_head', function () { if (function_exists('qtranxf_getLanguage') AND class_exists('WOOCS')) { $lang = qtranxf_getLanguage(); global $WOOCS; switch ($lang) { case 'bg': $WOOCS->set_currency('BGN'); break; case 'en': $WOOCS->set_currency('EUR'); break; default: $WOOCS->set_currency('USD'); break; } } });