Currency Switcher allows your WooCommerce store to display prices in multiple currencies, giving international customers a familiar shopping experience. Prices are automatically converted based on exchange rates, and visitors can switch between currencies using a customizable widget.
Getting Started
- Navigate to Swift Commerce → Currency Switcher in your WordPress admin
- Enable the feature using the toggle
- Add the currencies you want to support
- Configure exchange rates (manual or automatic)
- Place the currency switcher on your site using the shortcode or Elementor widget
Currencies Tab #
Managing Currencies
Your WooCommerce base currency is automatically added and marked as the default. From here you can add additional currencies for your international customers.
| Action | Description |
|---|---|
| Add Currency | Select from 25+ common world currencies |
| Enable/Disable | Toggle individual currencies on or off |
| Reorder | Drag and drop to change display order |
| Set Default | Choose which currency is shown by default |
Free Plan Limit: 1 additional currency (plus WooCommerce base)
Pro Plan: Unlimited currencies
Supported Currencies
The plugin includes 25+ pre-configured currencies:
| Currency | Code | Symbol |
|---|---|---|
| US Dollar | USD | $ |
| Euro | EUR | € |
| British Pound | GBP | £ |
| Japanese Yen | JPY | ¥ |
| Australian Dollar | AUD | A$ |
| Canadian Dollar | CAD | C$ |
| Swiss Franc | CHF | CHF |
| Chinese Yuan | CNY | ¥ |
| Indian Rupee | INR | ₹ |
| Mexican Peso | MXN | MX$ |
| Brazilian Real | BRL | R$ |
| South Korean Won | KRW | ₩ |
| And many more… |
Currency Configuration
Each currency has configurable settings:
Exchange Rate Settings:
| Setting | Description | Options |
|---|---|---|
| Rate Type | How the exchange rate is determined | Fixed / Auto (API) |
| Rate | The conversion rate relative to default currency | Numeric value |
Fee Settings:
| Setting | Description | Options |
|---|---|---|
| Fee Type | How to calculate conversion fee | Fixed Amount / Percentage |
| Fee | Amount to add to converted prices | Numeric value |
Price Format Settings:
| Setting | Description | Options |
|---|---|---|
| Decimals | Number of decimal places | 0-4 |
| Symbol Position | Where to display currency symbol | Left (99)/Right(99) / Left with space / Right with space |
| Rounding Type | How to round converted prices | None / Round Up / Round Down / Round Nearest |
| Rounding Value | Value to round to | e.g., 0.99, 0.50, 1.00 |
Customizations Tab #
Templates
Choose from pre-designed switcher styles:
| Template | Description |
|---|---|
| Default | Clean dropdown with flag and currency code |
| Minimal | Simple text-only dropdown |
| Flags Only | Compact flag buttons |
| Pill Style | Rounded pill-shaped buttons |
| Modern | Contemporary design with shadows |
| Classic | Traditional bordered select |
| Custom | Create your own unique style (Pro) |
Display Options (Pro – Custom Template)
| Setting | Description | Default |
|---|---|---|
| Show Flags | Display country flags next to currencies | Enabled |
| Show Currency Name | Display the full currency name | Enabled |
| Show Currency Code | Display the code (e.g., “USD”) | Enabled |
| Show Currency Symbol | Display the symbol (e.g., “$”) | Enabled |
Layout Settings (Pro)
| Setting | Description | Options |
|---|---|---|
| Switcher Layout | How currencies are displayed | Dropdown / Button Group / Vertical List |
| Alignment | Horizontal alignment | Left / Center / Right |
Colors & Styling (Pro)
| Setting | Description | Default |
|---|---|---|
| Background Color | Switcher background | #ffffff |
| Text Color | Text and labels | #1f2937 |
| Border Color | Border around switcher | #e5e7eb |
| Hover Background | Background on hover | #f3f4f6 |
| Hover Text Color | Text color on hover | #111827 |
Flag Settings (Pro)
| Setting | Options |
|---|---|
| Flag Style | Circle / Square / Rounded |
| Flag Size | Small (16px) / Medium (24px) / Large (32px) |
Custom CSS (Pro)
Add your own CSS to further customize the switcher appearance:
.swift-commerce-currency-switcher {
/* Your custom styles */
}
Auto Currency Tab (Pro) #
Automatically detect visitor location and display prices in their local currency.
Automatic Currency Detection
| Setting | Description | Default |
|---|---|---|
| Enable Auto Currency | Automatically switch based on visitor location | Disabled |
When enabled, visitors from different countries will automatically see prices in their local currency based on your country-to-currency mapping.
Country to Currency Mapping
Define which countries should display which currency:
- Click “Select a country to add”
- Choose the country from the dropdown
- Select which currency visitors from that country should see
- Repeat for each country you want to configure
Example Mappings:
| Country | Currency |
|---|---|
| United States | USD |
| United Kingdom | GBP |
| Germany | EUR |
| Japan | JPY |
| Australia | AUD |
Countries not in your mapping list will see the fallback currency.
Fallback Settings
| Setting | Description |
|---|---|
| Fallback Currency | Currency shown when visitor’s country is not mapped |
| Respect User Choice | Don’t auto-switch if visitor manually selected a currency |
| Remember Duration | Days to remember the user’s currency preference |
Detection Method
| Method | Description |
|---|---|
| IP Detection | Uses visitor’s IP address to determine country |
| Browser | Uses browser language settings |
| Both | Tries IP first, falls back to browser |
GeoIP Provider
| Provider | API Key Required |
|---|---|
| IP-API | No (Free) |
| MaxMind GeoIP2 | Yes |
| IP2Location | Yes |
Test Mode
Enable test mode to simulate visitors from different countries:
| Setting | Description |
|---|---|
| Test Mode | Enable location simulation |
| Test Country | Country code to simulate (e.g., “US”, “GB”) |
Advanced Tab #
Automatic Exchange Rate Updates (Pro)
| Setting | Description | Default |
|---|---|---|
| Enable Auto Updates | Automatically fetch and update rates | Disabled |
| Update Interval | How often to update rates | Daily |
Update Interval Options:
- Every Hour
- Once Daily
- Once Weekly
Manual Update: Click “Update Rates Now” to immediately fetch the latest exchange rates.
Exchange Rate API (Pro)
| Provider | API Key Required | Free Tier |
|---|---|---|
| ExchangeRate-API | No | Yes |
| Open Exchange Rates | Yes | Yes |
| CurrencyLayer | Yes | Yes |
| Fixer.io | Yes | No |
For providers requiring an API key, enter your key in the “API Key” field.
Cache Settings
| Setting | Description | Default |
|---|---|---|
| Enable Cache | Cache converted prices for performance | Enabled |
| Cache Duration | How long to cache prices (seconds) | 3600 |
Cookie Settings
| Setting | Description | Default |
|---|---|---|
| Cookie Duration | Days to remember user’s currency choice | 30 |
Shortcode Tab #
Basic Usage
Display the currency switcher anywhere using:
[swift_commerce_currency_switcher]
Elementor Widget (Pro)
For Elementor users, a dedicated currency switcher widget is available:
- Edit any page with Elementor
- Search for “Currency Switcher” in the widget panel
- Drag the widget to your page
- Customize appearance in the widget settings
How Price Conversion Works #
- Base Price: Products are stored in your WooCommerce default currency
- Exchange Rate: Applied to convert to target currency
- Fee (Optional): Added as fixed amount or percentage
- Rounding (Optional): Applied based on rounding settings
Example:
- Product price: $100.00 USD
- Exchange rate to EUR: 0.92
- Fee: 2%
- Rounding: Nearest 0.99
Calculation: $100 × 0.92 = €92.00 + 2% = €93.84 → Rounded to €93.99
WooCommerce Integration #
Price Conversion
The plugin automatically converts prices on:
- Product pages (single price, variations)
- Shop/category pages
- Cart and checkout
- Order emails
- Mini cart widget
Supported Price Types
| Price Type | Converted |
|---|---|
| Regular Price | ✓ |
| Sale Price | ✓ |
| Variable Product Prices | ✓ |
| Shipping Costs | ✓ |
| Tax Amounts | ✓ |
Troubleshooting #
Prices Not Converting
- Verify Currency Switcher is enabled
- Check that the target currency is enabled
- Ensure exchange rate is set (not 0)
- Clear any caching plugins
Wrong Exchange Rate
- If using Auto rates, click “Update Rates Now”
- Check API provider status
- Verify API key is correct (if required)
- Switch to Fixed rate and enter manually
Geo-Detection Not Working
- Verify Auto Currency is enabled
- Check country-to-currency mapping includes the country
- For local testing, enable Test Mode
- Verify GeoIP provider is working
Switcher Not Displaying
- Confirm shortcode is correctly placed
- Check that at least 2 currencies are enabled
- Verify there are no JavaScript errors in console
- Check for CSS conflicts with theme
Feature Comparison #
| Feature | Free | Pro |
|---|---|---|
| Enable Currency Switcher | ✓ | ✓ |
| WooCommerce base currency | ✓ | ✓ |
| 1 additional currency | ✓ | ✓ |
| Unlimited currencies | ✗ | ✓ |
| Manual exchange rates | ✓ | ✓ |
| Automatic exchange rates | ✗ | ✓ |
| Multiple API providers | ✗ | ✓ |
| Basic shortcode | ✓ | ✓ |
| Elementor widget | ✗ | ✓ |
| Pre-designed templates | ✓ | ✓ |
| Custom template styling | ✗ | ✓ |
| Display options (flags, codes) | ✗ | ✓ |
| Color customization | ✗ | ✓ |
| Custom CSS | ✗ | ✓ |
| Geo-detection (auto currency) | ✗ | ✓ |
| Country-to-currency mapping | ✗ | ✓ |
| Conversion fees | ✓ | ✓ |
| Price rounding | ✓ | ✓ |
| Cookie preferences | ✓ | ✓ |