Shills Multi Currency Manager is a powerful yet lightweight currency switcher plugin for WordPress that allows your visitors to switch between multiple currencies seamlessly. Perfect for e-commerce stores, international businesses, and multilingual websites.
Key Features:
[shmcm_switcher] shortcodeCurrency Features:
WooCommerce Features:
Multilingual Features:
Development
This plugin is built with modern development practices:
This plugin may connect to the following third-party services. All are optional.
ExchangeRate-API.com
* Purpose: Fetches real-time exchange rates when automatic rate updates are enabled.
* Data sent: Only the base currency code (e.g., “USD”) as part of the request URL. No API key or personal data is transmitted.
* When: Only when the admin manually triggers a rate update or when the scheduled auto-update cron runs.
* Service URL: https://www.exchangerate-api.com
* Terms of Service: https://www.exchangerate-api.com/terms
* Privacy Policy: https://www.exchangerate-api.com/privacy
Open Exchange Rates
* Purpose: Fetches real-time exchange rates as an alternative provider when automatic rate updates are enabled.
* Data sent: The API key (configured by the site admin) and base currency code as URL parameters. No user data is transmitted.
* When: Only when the admin manually triggers a rate update or when the scheduled auto-update cron runs.
* Service URL: https://openexchangerates.org
* Terms of Service: https://openexchangerates.org/terms
* Privacy Policy: https://openexchangerates.org/privacy
ipapi.co
* Purpose: GeoIP detection to automatically suggest the visitor’s local currency on their first visit.
* Data sent: The visitor’s IP address is transmitted as part of the HTTP request to ipapi.co. No API key, personal information, or cookies are sent.
* When: Only when a visitor first loads the site and no currency preference cookie is set. Once set, no further GeoIP requests are made.
* Service URL: https://ipapi.co
* Terms of Service: https://ipapi.co/terms/
* Privacy Policy: https://ipapi.co/privacy/
All external services are optional. Select “None – Use Manual Rates” in the General Settings tab to disable all exchange rate API calls. Rate updates only occur on admin-initiated actions or scheduled WordPress cron events; no exchange rate API requests are made during regular frontend visits. GeoIP detection can be disabled in the Multilingual Settings.
shmcm_currencies – Filter the currencies arrayshmcm_exchange_rates – Filter exchange rates before storageshmcm_price_format – Filter price formattingshmcm_api_providers – Filter available API providersshmcm_geo_country_currency_map – Filter GeoIP country-currency mappingshmcm_currency_switched – Fires when currency is switchedshmcm_rates_updated – Fires when exchange rates are updatedshmcm_language_currency_synced – Fires when language-currency sync occursshmcm_activated – Fires on plugin activationshmcm_deactivated – Fires on plugin deactivationshmcm_components_loaded – Fires after all components are loadedAll endpoints are under /wp-json/shmcm/v1/:
GET /settings – Get currency switcher settingsPOST /switch – Switch currency (sets cookie)POST /update-rates – Update exchange rates from APIGET /theme-color – Get current theme colorGET /lang-map – Get language-currency mappingPOST /sync-lang – Sync language with currencyGET /currencies – Get all currencies (admin)POST /currencies – Add new currency (admin)GET /currency/{code} – Get single currency (admin)POST /currency/{code} – Update currency (admin)DELETE /currency/{code} – Delete currency (admin)[shmcm_switcher]
display – Display style: dropdown (default) or buttonstheme – Theme mode: auto (default), light, dark, or customExample: [shmcm_switcher display="buttons" theme="dark"]
Built with love by Shawn Hills
Special thanks to:
* The WordPress community
* Contributors and testers
* ExchangeRate-API.com and Open Exchange Rates for exchange rate data
* ipapi.co for GeoIP detection