BACK TO DIRECTORY

Currency Switcher for WooCommerce – Multi Currency, Auto Rates & GeoIP

by WebTend

0.0
(0 ratings)

Currency Switcher for WooCommerce lets your store display and process prices in multiple currencies — fast, clean, and conversion-focused. Built for modern WordPress stores without the bloat.

Sell globally with confidence. Visitors see prices in their local currency automatically, switch currencies with a single click, and checkout in the currency they trust.

📖 Full Documentation

🌍 Why Currency Switcher for WooCommerce?

Most multi-currency plugins are bloated, ship with telemetry SDKs, or lock core features behind a paywall. This plugin is different:

  • Lightweight — no unnecessary code, no jQuery dependency for the switcher UI
  • Zero telemetry — no data ever sent to our servers, no Appsero, no analytics SDKs
  • Fully functional — every feature works out of the box, nothing locked behind a paywall
  • Modern — built for WooCommerce HPOS, block Cart/Checkout, and FSE block themes

✅ Core Features

Multi-Currency Support
Display and process orders in 150+ ISO 4217 currencies. Enable as many currencies as your store needs from a searchable admin grid with flag emojis.

Auto Exchange Rates
Rates fetched automatically from the European Central Bank (free, no API key) or Open Exchange Rates. Cached in transients and a resilient database table — rates are always available even if the API is temporarily down. A dismissible admin notice alerts you when rates are more than 48 hours old, with a one-click refresh button.

GeoIP Auto-Detection
On a visitor’s first page load, the plugin detects their country and automatically sets their local currency. The result is stored in a 30-day cookie — zero repeat API calls, zero performance impact.

Two Switcher Modes
– Full Mode — prices, cart, shipping, and checkout all process in the selected currency. Orders are saved with the customer’s currency.
– Visual Mode — display prices in any currency on the storefront but charge in your store’s base currency at checkout. Ideal for stores that cannot process multi-currency payments.

AJAX No-Reload Currency Switch
Switching currency on shop, archive, and single product pages instantly updates all prices in the DOM without a page reload. Cart and checkout pages reload for accurate server-side WooCommerce totals. A storzenCSCurrencyChanged JS event fires after every successful DOM update so themes and plugins can hook in.

Per-Currency Price Format
Set decimal separator, thousand separator, symbol position (left / right / left with space / right with space), and decimal places independently for each enabled currency. A live preview updates instantly in the admin as you configure each currency.

Currency Payment Gateway Mapping
Restrict which payment gateways appear at checkout based on the active currency. Show only bKash and Nagad for BDT, only Stripe and PayPal for USD. If no mapping is set for a currency, all gateways are shown — zero breaking change for existing stores.

Currency-Specific Coupons
Restrict any WooCommerce coupon to one or more currencies. A “Currency restriction” field appears on the coupon edit screen. Customers applying a coupon in a disallowed currency see a clear error message. Coupons with no restriction set apply to all currencies (safe default).

WPML / Polylang Language Currency Auto-Map
Automatically switch currency when a visitor changes language. Map each language to a currency from the “Language Map” admin tab. Compatible with WPML and Polylang — works immediately when either plugin is active, with no code required.

Order-Time Exchange Rate Snapshot
The exact exchange rate is saved to order meta when an order is placed. The snapshot (customer currency, store base currency, rate, and date) is visible in the WooCommerce admin order panel, the customer confirmation email, and the order-received page — useful for refunds, disputes, and currency reconciliation.

Per-Product Fixed Prices
Override the auto-converted price with an exact fixed amount for any product and currency. Set a fixed USD price, a fixed EUR price, and a fixed BDT price independently — all from the product edit page.

Smart Price Rounding
Four rounding presets: Exact (precise decimal), Round (nearest integer), Charm (.95 endings), and .99 Pricing (.99 endings).

Gutenberg Block
A native block for the WordPress Block Editor. Drag the Currency Switcher block into any page, post, or template. Configure style and flag display from the Inspector Controls panel. Works with Full Site Editing (FSE) block themes.

Navigation Menu Placement
Add the currency switcher to any WordPress navigation menu from Appearance Menus. A dedicated “Currency Switcher” panel appears alongside Links and Pages — no code needed.

Theme Auto-Placement
One-click switcher placement in the header of Storefront, OceanWP, Astra, GeneratePress, and Kadence themes with zero code. Enable the toggle in Display settings and the switcher appears in the right spot for your theme.

3 Switcher Styles
Dropdown, button group, and select box — all with optional flag emoji, multiple label formats (symbol, code, symbol + code, full name), and full keyboard navigation with ARIA roles.

Shortcode & Classic Widget
Place the switcher anywhere with [storzen_currency_switcher] or drag the widget into any sidebar from Appearance Widgets.

Accessible & Keyboard-Friendly
Full keyboard navigation (arrow keys, Enter, Escape, Tab), ARIA listbox and aria-pressed roles, focus management, roving tabindex, and screen-reader labels on every interactive element.

⚡ Performance

  • Frontend CSS and JS load only when 2+ currencies are enabled
  • Exchange rates cached in WordPress transients (configurable 1–48 hour interval)
  • Database fallback table ensures rates are always available offline
  • GeoIP result stored in a visitor cookie — no server-side per-IP storage
  • AJAX price switch updates the DOM in place — no full page reload on shop/product pages
  • WooCommerce variation price hash modified per currency — no stale cached prices served

🔒 Privacy & GDPR

This plugin makes requests to the following third-party services:

GeoIP detection (only when GeoIP is enabled in settings):
* Service: api.country.is
* Purpose: Detects visitor’s country from their IP address to auto-select currency
* Data sent: Visitor IP address
* Privacy policy: https://country.is/

Exchange rate data (when ExchangeRate-API or ECB is selected as rate source):
* Service: open.er-api.com (ExchangeRate-API)
* Purpose: Fetches live currency exchange rates
* Data sent: No personal data — request is for rate data only
* Privacy policy: https://www.exchangerate-api.com/privacy

  • No personal data stored — the plugin does not log IPs or personal information
  • GeoIP detection uses the visitor’s IP only to return a country code — the IP is never stored
  • Cookie set with SameSite=Lax, Secure on HTTPS, and HttpOnly for the country detection cookie
  • Zero outbound data to plugin author servers

🧩 Compatibility

  • ✅ WooCommerce 7.0+
  • ✅ WordPress 6.3+
  • ✅ HPOS (High-Performance Order Storage)
  • ✅ WooCommerce Cart & Checkout Blocks
  • ✅ Block themes & Full Site Editor (FSE)
  • ✅ Classic themes
  • ✅ WPML & Polylang (with automatic language currency mapping)
  • ✅ Storefront, OceanWP, Astra, GeneratePress, Kadence (auto-placement)
  • ✅ Elementor, Divi, Bricks, and all major page builders

Setup (takes 2 minutes):

  1. Go to Currency Switcher in the WordPress left-hand menu
  2. On the General tab — select your mode (Full or Visual) and enable currencies
  3. On the Exchange Rates tab — choose your rate source (ECB is free, no key needed)
  4. Add the switcher via the Gutenberg block, nav menu, shortcode, or widget
  5. Done ✓

Screenshots

Admin — General tab with mode selector, GeoIP toggle, and searchable currency grid

Admin — General tab with mode selector, GeoIP toggle, and searchable currency grid

Admin — Display tab with live switcher style preview

Admin — Display tab with live switcher style preview

Admin — Price Formats tab with live format preview per currency

Admin — Price Formats tab with live format preview per currency

Admin — Payment Gateways tab with per-currency gateway checkboxes

Admin — Payment Gateways tab with per-currency gateway checkboxes

Plugin Details

Active Installs
50
Total Downloads
1,017
Version
1.1.5
Requires WP
6.3
Requires PHP
8.0
Tested Up To
7.1.4
Added
2026-06-08
Last Updated
2026-10-21 9:52am GMT

Ratings

5
0
4
0
3
0
2
0
1
0