{"id":281822,"date":"2026-05-29T20:05:18","date_gmt":"2026-05-29T20:05:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/swiftcurrency-multi-currency-switcher-for-woocommerce\/"},"modified":"2026-05-29T20:04:47","modified_gmt":"2026-05-29T20:04:47","slug":"swift-currency","status":"publish","type":"plugin","link":"https:\/\/tt.wordpress.org\/plugins\/swift-currency\/","author":17592797,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Swift Currency - Multi-Currency Switcher for WooCommerce","header_author":"Codeies","header_description":"Professional multi-currency plugin for WooCommerce with real-time exchange rates, automatic geolocation, and extensive customization options.","assets_banners_color":"","last_updated":"2026-05-29 20:04:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/store.codeies.com\/l\/swift-currency","header_author_uri":"https:\/\/codeies.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"codeies","date":"2026-05-29 20:04:47"}},"upgrade_notice":{"1.0.0":"<p>Initial release of Swift Currency. Start selling globally with a professional currency switcher!<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"<strong>Professional Admin Settings<\/strong> - Elegant interface to manage your currencies and display options.","2":"<strong>Fancy Dropdown Switcher<\/strong> - A premium dropdown with flags and smooth animations.","3":"<strong>List &amp; Button Styles<\/strong> - Alternative modern layouts for your currency switcher."}},"plugin_section":[262246],"plugin_tags":[8504,3604,24514,1140,286],"plugin_category":[45],"plugin_contributors":[192099],"plugin_business_model":[],"class_list":["post-281822","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-currency","plugin_tags-money","plugin_tags-multi-currency","plugin_tags-switcher","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-codeies","plugin_committers-codeies"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/swift-currency.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Swift Currency is a modern, lightweight, and professional multi-currency switcher for WooCommerce. It allows you to display currencies in a beautiful way, supporting multiple display styles including a fancy dropdown, a clean list, and modern buttons.<\/p>\n\n<p>The plugin is designed to be highly customizable, letting you control exactly how your switcher looks and behaves. With built-in SVG flag support and real-time exchange rate updates, it provides a premium experience for your international customers.<\/p>\n\n<h4>Free Features<\/h4>\n\n<ul>\n<li><strong>Unlimited Currencies<\/strong> - Enable as many currencies as your store needs, including your base currency.<\/li>\n<li><strong>Multiple Switcher Styles<\/strong> - Choose between a professional Fancy Dropdown, a clean List, or modern Pill Buttons.<\/li>\n<li><strong>Automatic Exchange Rates<\/strong> - Daily updates from the European Central Bank (ECB) for accurate fiat conversions.<\/li>\n<li><strong>Cryptocurrency Support<\/strong> - Enable Bitcoin, Ethereum, and other popular cryptocurrencies with live rates from CoinGecko or Binance.<\/li>\n<li><strong>WooCommerce Integration<\/strong> - Seamlessly convert product prices, cart totals, and checkout amounts.<\/li>\n<li><strong>Payment Gateway Mapping<\/strong> - Map enabled currencies to payment gateways and optionally fall back to the base currency when a gateway does not support the selected currency.<\/li>\n<li><strong>Customizable Display<\/strong> - Control symbol position, decimal places, thousand separators, and more.<\/li>\n<li><strong>Multiple Placements<\/strong> - Add the switcher to your header, footer, sidebar, or anywhere using shortcodes and widgets.<\/li>\n<li><strong>Geolocation Ready<\/strong> - Detect visitor location (requires Pro for auto-switching).<\/li>\n<li><strong>Developer Friendly<\/strong> - Extensive hooks, filters, and a clean REST API for custom integrations.<\/li>\n<li><strong>Optimized for Speed<\/strong> - Lightweight and performance-focused with advanced caching.<\/li>\n<\/ul>\n\n<h4>Pro Features<\/h4>\n\n<ul>\n<li><strong>Premium Exchange Providers<\/strong> - Support for Fixer.io, OpenExchangeRates, and ExchangeRate-API.<\/li>\n<li><strong>Auto-Geolocation<\/strong> - Automatically switch currency based on the visitor's country.<\/li>\n<li><strong>Multi-Currency Checkout<\/strong> - Let customers pay in their preferred currency during checkout.<\/li>\n<li><strong>Charm Pricing &amp; Rounding<\/strong> - Professional rounding rules (e.g., .99) for all converted prices.<\/li>\n<li><strong>Elementor Integration<\/strong> - Dedicated widgets for easy drag-and-drop customization.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin fetches exchange rates from external services. Below is a complete disclosure of all external HTTP requests made by this plugin.<\/p>\n\n<h4>European Central Bank (ECB) Exchange Rate Feed<\/h4>\n\n<p>This plugin fetches daily foreign exchange reference rates from the European Central Bank to convert prices between currencies.<\/p>\n\n<ul>\n<li><strong>What is sent:<\/strong> A plain HTTP GET request with no user data.<\/li>\n<li><strong>When:<\/strong> Only when the exchange-rate cache is empty or expired (default: once per day via WP-Cron).<\/li>\n<li><strong>Endpoint:<\/strong> https:\/\/www.ecb.europa.eu\/stats\/eurofxref\/eurofxref-daily.xml<\/li>\n<li><strong>Terms of use:<\/strong> https:\/\/www.ecb.europa.eu\/home\/disclaimer\/html\/index.en.html<\/li>\n<li><strong>Privacy policy:<\/strong> https:\/\/data.ecb.europa.eu\/privacy-statement-ecb-data-portal<\/li>\n<\/ul>\n\n<h4>CoinGecko Cryptocurrency Rates<\/h4>\n\n<p>This plugin fetches real-time cryptocurrency exchange rates from CoinGecko when crypto currencies are enabled.<\/p>\n\n<ul>\n<li><strong>What is sent:<\/strong> A plain HTTP GET request with no user data.<\/li>\n<li><strong>When:<\/strong> Only when crypto exchange rates are requested and the cache is expired (configurable interval, default: hourly).<\/li>\n<li><strong>Endpoint:<\/strong> https:\/\/api.coingecko.com\/api\/v3\/simple\/price<\/li>\n<li><strong>Terms of use:<\/strong> https:\/\/www.coingecko.com\/en\/terms<\/li>\n<li><strong>Privacy policy:<\/strong> https:\/\/www.coingecko.com\/en\/privacy<\/li>\n<\/ul>\n\n<h4>Binance Cryptocurrency Rates<\/h4>\n\n<p>This plugin can optionally fetch cryptocurrency exchange rates from Binance as an alternative crypto rate provider.<\/p>\n\n<ul>\n<li><strong>What is sent:<\/strong> A plain HTTP GET request with no user data.<\/li>\n<li><strong>When:<\/strong> Only when Binance is selected as the crypto provider and the cache is expired.<\/li>\n<li><strong>Endpoint:<\/strong> https:\/\/api.binance.com\/api\/v3\/ticker\/price<\/li>\n<li><strong>Terms of use:<\/strong> https:\/\/www.binance.com\/en\/terms<\/li>\n<li><strong>Privacy policy:<\/strong> https:\/\/www.binance.com\/en\/privacy<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>We are committed to transparency about the data Swift Currency collects and how it is handled.<\/p>\n\n<h4>What Data Is Collected?<\/h4>\n\n<ol>\n<li><p><strong>Logging Data<\/strong> (Optional, disabled by default)<\/p>\n\n<ul>\n<li>Exchange-rate update attempts and results<\/li>\n<li>API call errors and responses<\/li>\n<li>System events and warnings<\/li>\n<li>User ID (if applicable)<\/li>\n<li>IP address (anonymized via <code>wp_privacy_anonymize_ip()<\/code>)<\/li>\n<li>Timestamp<\/li>\n<\/ul><\/li>\n<li><p><strong>Exchange Rate Data<\/strong> (Always collected)<\/p>\n\n<ul>\n<li>Current exchange rates from the configured providers<\/li>\n<li>Historical rate data for reporting<\/li>\n<li>Rate update timestamps<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p>All information is stored locally inside your WordPress database. The only outbound requests are the external rate lookups listed above, which contain <strong>no user data<\/strong>. The front end sets a <code>swiftcurrency_selected<\/code> cookie solely to remember the visitor's last chosen currency; no other tracking cookies are written.<\/p>\n\n<h4>How Is Data Used?<\/h4>\n\n<p>Logging data is used exclusively to troubleshoot issues, monitor plugin health, and debug provider\/API integrations.<\/p>\n\n<h4>Data Retention<\/h4>\n\n<ul>\n<li><strong>Logging Data:<\/strong> Stored for 30 days by default (configurable under <strong>Swift Currency \u2192 Settings \u2192 Advanced \u2192 Logging<\/strong>).<\/li>\n<li><strong>Rate History:<\/strong> Stored for 1 year (not user configurable).<\/li>\n<\/ul>\n\n<p>Old data is automatically pruned using the plugin's WP-Cron cleanup tasks.<\/p>\n\n<h4>How to Disable or Delete Data<\/h4>\n\n<ul>\n<li><strong>Disable Logging:<\/strong> Go to <strong>Swift Currency \u2192 Settings \u2192 Advanced<\/strong> and toggle off \"Enable Logging\".<\/li>\n<li><strong>Delete All Data on Uninstall:<\/strong> In the same screen, enable \"Delete Data on Uninstall\" before deactivating and deleting the plugin to remove all plugin data\/tables.<\/li>\n<\/ul>\n\n<h4>User Rights<\/h4>\n\n<p>Users can:<\/p>\n\n<ul>\n<li>Access logging data stored in their database<\/li>\n<li>Delete cached\/logged data via the \"Clear Cache\" tools or by uninstalling with the delete option enabled<\/li>\n<li>Disable logging so no diagnostic data is stored<\/li>\n<li>Export data via standard WordPress privacy tools if integrated<\/li>\n<\/ul>\n\n<h4>GDPR Compliance<\/h4>\n\n<p>Swift Currency is designed to meet GDPR expectations:<\/p>\n\n<ul>\n<li>\u2705 No user information is sent to external services<\/li>\n<li>\u2705 Only a functional <code>swiftcurrency_selected<\/code> cookie is stored to remember the chosen currency<\/li>\n<li>\u2705 IP addresses inside logs are anonymized<\/li>\n<li>\u2705 Data retention windows are configurable<\/li>\n<li>\u2705 Users can delete their data at any time<\/li>\n<li>\u2705 Logging can be fully disabled<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>swift-currency<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to <strong>Swift Currency -&gt; Settings<\/strong> in your WordPress admin to configure your currencies.<\/li>\n<li>Use the shortcode <code>[swiftcurrency_switcher]<\/code> or the \"Swift Currency Switcher\" widget to display it on your site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20add%20the%20switcher%20to%20my%20site%3F\"><h3>How do I add the switcher to my site?<\/h3><\/dt>\n<dd><p>You can use the shortcode <code>[swiftcurrency_switcher]<\/code> in any page or post. Alternatively, you can add the \"Swift Currency Switcher\" widget to your sidebar or footer via Appearance &gt; Widgets.<\/p><\/dd>\n<dt id=\"does%20it%20support%20automatic%20rate%20updates%3F\"><h3>Does it support automatic rate updates?<\/h3><\/dt>\n<dd><p>Yes, the free version includes automatic exchange rate updates via the European Central Bank (ECB).<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20colors%3F\"><h3>Can I customize the colors?<\/h3><\/dt>\n<dd><p>Absolutely. You can change the \"Accent Color\" in the Display settings to match your brand. You can also add custom CSS for advanced styling.<\/p><\/dd>\n<dt id=\"how%20many%20currencies%20can%20i%20enable%3F\"><h3>How many currencies can I enable?<\/h3><\/dt>\n<dd><p>You can enable 3 currencies in the free version, including your store's base currency.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: Cron auto-updates no longer silently skip when a Pro-tier rate provider (fixer, currencylayer, openexchangerates, exchangerate-api) is configured but the Pro add-on is not active. The scheduler now falls back to ECB automatically and logs a warning, so exchange rates are never left stale.<\/li>\n<li>Security: Improved output escaping across admin and frontend templates \u2014 CSS class ternaries, aria attributes, number_format(), human_time_diff(), and translated strings now consistently use esc_attr()\/esc_html().<\/li>\n<li>Security: register_setting() now includes description and show_in_rest=false parameters.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Security: Added proper uninstall.php handler for WordPress.org compliance.<\/li>\n<li>Security: Fixed database query escaping in installer for enhanced security.<\/li>\n<li>Security: Added HTML escaping in admin JavaScript to prevent XSS vulnerabilities.<\/li>\n<li>Enhancement: Improved translation compatibility with WordPress.org plugin repository expectations.<\/li>\n<li>Compatibility: Ensured full WordPress.org Plugin Repository compliance.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial stable release.<\/li>\n<li>Introduced three professional switcher styles: Fancy Dropdown, List, and Buttons.<\/li>\n<li>Added support for local SVG flags.<\/li>\n<li>Integrated real-time exchange rates via European Central Bank (ECB).<\/li>\n<li>Added comprehensive display customization (Accent colors, symbols, labels).<\/li>\n<li>Full compatibility with WooCommerce and performance caching.<\/li>\n<li>Clean and sanitized codebase following WordPress.org best practices.<\/li>\n<\/ul>","raw_excerpt":"A professional and customizable currency switcher for WooCommerce. Allow customers to switch between currencies with premium design styles.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/281822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=281822"}],"author":[{"embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codeies"}],"wp:attachment":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=281822"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=281822"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=281822"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=281822"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=281822"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=281822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}