-
-
Save Drewberrysteph/e7f44d23d714617134ad7250d9149b06 to your computer and use it in GitHub Desktop.
<script> | |
function setCookie(key, value, expiry) { | |
var expires = new Date(); | |
expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000)); | |
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + ';path=/'; | |
} | |
$(document).ready(function () { | |
// You need to enable the currency that you want to be supported under shopify settings/payment | |
var currency = {"GR":"EUR", "JP":"JPY", "PH":"PHP", "US":"USD"}; // Add capital and currency | |
$.get("https://ipinfo.io/json", (location) => { | |
var userCurrency = currency[location.country]; | |
setCookie('cart_currency', userCurrency, '1') | |
},"jsonp"); | |
}); | |
</script> |
@kwisis, sure, country code.
Hi @Drewberrysteph, thanks for creating this!
I am trying to use it on my store (https://qimnuq0ewum00sz7-5518655558.shopifypreview.com) but can't seem to make it work. I changed GR for ES (as I am in Spain atm) but it doesn't change for me. I only want to detect the visitors IP and show the currencies in their $. Can you assist?
@paularupolo sorry for the late reply, check comment on line 9 and 10
@Drewberrysteph - is there any way to do a default currency?
I have a Danish shop. It is in DKK for all Danes.
I support another 5 currencies, which I would match up with a country code.
However for all other countries I would like EURO as default - and I would very much like to avoid having to pair all countries in the world with EURO :)
@numzie try to replace line 12 with
var userCurrency = currency[location.country] ? currency[location.country] : "EUR" ;
I think you have an extra curly bracket on line 14. Anyhow, I still need to reload for the currency to switch.
`<script>
function setCookie(key, value, expiry) {
var expires = new Date();
expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + ';path=/';
}
$(document).ready(function () {
// You need to enable the currency that you want to be supported under shopify settings/payment
var currency = {"IT":"EUR", "BR":"BRL", "CO":"COP", "ES":"EUR", "BO":"BOB","CL":"CLP","EC":"USD","GY":"GYD", "MX":"MXN", "PY":"PYG","PE":"PEN","PT":"EUR","SR":"SRD","UY":"UYU","VE":"USD"}; // Add capital and currency
$.get("https://ipinfo.io/json", (location) => {
var userCurrency = currency[location.country];
console.log(userCurrencyconcat("JOVA"));
setCookie('cart_currency', userCurrency, '1')
},"jsonp");
});
</script>`
This is my code, did do something wrong?
@Jovdza012 Thanks, try to clear cache before testing.
I did, I am testing it with a VPN and with a clean browser every time (I use the guest account on chrome). I put it in theme.liquid file, below the Facebook tracking code, and before the theme loads its CSS :/
@Drewberrysteph, thanks! I want to use the script, but not sure why to add capitals. Do you mean country code? If so, I'd like the website to always be EUR. except for the currencies added to that VAR list (AUD, USD, CAD, GBP, CHF, TTD, SEK).