=== FX Currency Converter ===
Contributors: falselight
Tags: currency converter, currency conversion, currency exchange, exchange rates, currencies
Donate link: https://currencyconvert.online/
Requires at least: 5.6
Requires PHP: 7.4
Tested up to: 7.0
Stable tag: 0.3.0
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Easy-to-use, free currency converter. 🔑 No API key needed. ❤️ Install and enjoy.

== 📌 About ==
Unlock real-time currency conversion on your WordPress site. Enjoy hourly cached updates from 86 public data providers with no API key required.

[DEMO👀](https://yuri.ws/uncategorized/fx-currency-converter/)

= ⭐️ FEATURES ⭐️ =

* 🚀 Lightweight code;
* 🌐 Exchange rates from 86 public data providers;
* 🧱 Gutenberg block, shortcode, and PHP helper support;
* 🎨 Flexible styling options;
* 💯 Free, No Ads;
* 🔑 No API key needed;
* 🔒 SSL support;
* 📱 Mobile-friendly;
* 🔍 SEO-friendly.

== 🗜 Shortcode 🗜 ==

The shortcode of `[fxcc_convert]` has the following parameters that you may specify...

* **num** - The amount you wish to convert from one currency to another.
* **from** - The currency [ISO code](https://currencyrate.today/different-currencies) you wish to convert from. The default is USD.
* **to** - The currency [ISO code](https://currencyrate.today/different-currencies) you wish to convert to. The default is EUR.
* **dec** - Specifies the number of decimal places in the output. This should be numeric or the word "match". The default is "match", which means that the output will match the number of decimal places that the **num** had.
* **prefix** - emoji | symbol;
* **suffix** - emoji | symbol;
* **attribution** - 1 | true | yes | on; wraps the result in a link to `https://{from}.currencyrate.today/{to}`.
* **tmpl** - Text template with the `%result%` placeholder.

== 💡 Examples 💡 ==

`
[fxcc_convert num="100" from="USD" to="EUR" /] - 92
[fxcc_convert num="49.123" dec="2" from="USD" to="EUR" /] - 45,22
[fxcc_convert num="49.123" dec="2" from="USD" to="EUR" prefix="symbol" suffix="emoji" /] - €45,22🇪🇺
[fxcc_convert num="100" from="USD" to="EUR" attribution="1" /] - clickable result linked to CurrencyRate.today
[fxcc_convert num="49.99" from="USD" to="EUR" prefix="symbol" tmpl="49.99 USD is %result% EUR" /] - 49.99 USD is €46,02 EUR
[fxcc_convert num="49.99" from="USD" to="EUR" tmpl="49.99 USD is %result% EUR" src="eu-ecb" /] - 49.99 USD is 45,83 EUR
[fxcc_convert num="100" from="USD" dec="4" to="EUR"]100 USD is %result% EUR[/fxcc_convert] - 100 USD is 92,0641 EUR
`

PHP helper examples:

`
<?php echo fxcc_convert(array('num' => 100, 'from' => 'USD', 'to' => 'EUR')); ?> - 92
<?php echo fxcc_convert(array('num' => 100, 'from' => 'USD', 'to' => 'EUR', 'attribution' => true)); ?> - clickable result linked to CurrencyRate.today
<?php echo fxcc_convert(array('num' => 49.99, 'from' => 'USD', 'to' => 'EUR', 'prefix' => 'symbol', 'tmpl' => '49.99 USD is %result% EUR')); ?> - 49.99 USD is €46,02 EUR
`


== 💱 API and Data sources 💱 ==

We collect data from multiple public sources and cache it on our server, [https://api-bank.fex.to/](https://api-bank.fex.to/). Before you start using the plugin, please read the disclaimer. The plugin refreshes cached data at most once per hour, and the public API does not require keys or passwords. See the FAQ section below for the full list of 86 data providers.

== ⚠️ Disclaimer ⚠️ ==

**Disclaimer for the https://api-bank.fex.to/ API** 🚫

1. **Use at Your Own Risk** ⚠️: The use of this API is at your own discretion and risk. We do not accept any responsibility for any losses, damages, or issues arising from the use of this API.
2. **Data Accuracy** 📊: We make every effort to ensure the accuracy and timeliness of the data provided through our API. However, we do not guarantee the completeness, accuracy, or timeliness of this data and do not accept responsibility for any errors or omissions.
3. **Changes and Termination of Service** 🔄: We reserve the right to make changes to or terminate the operation of this API at any time, without prior notice. We are not liable for any consequences resulting from such changes or termination.
4. **Third-Party Services** 🌐: This API may interact with third-party services or APIs. We do not endorse or take responsibility for the functionality, accuracy, or availability of these third-party services.
5. **No Warranty** 🛡️: We provide this API on an "as is" and "as available" basis, without any warranties, express or implied. We disclaim all warranties, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and non-infringement.
By using this API, you agree to accept and abide by the terms of this disclaimer. If you do not agree with any part of this disclaimer, you must not use this API.

== Installation ==
= From your WordPress dashboard =

1. Visit "Plugins > Add New"
2. Search for "FX Currency Converter"
3. Activate "FX Currency Converter" from your Plugins page.
4. Insert the FX Currency Converter block in the editor or place the `[fxcc_convert]` shortcode in your content.

= From WordPress.org =

1. Download "FX Currency Converter".
2. Upload the "FX Currency Converter" directory to your "/wp-content/plugins/" directory, using your favorite method (ftp, sftp, scp, etc...).
3. Activate "FX Currency Converter" from your Plugins page.
4. Insert the FX Currency Converter block in the editor or place the `[fxcc_convert]` shortcode in your content.

== Frequently Asked Questions ==
= How to display currency conversion in a theme or PHP code? =
Use the direct helper in PHP templates: `<?php echo fxcc_convert(array('num' => 100, 'from' => 'USD', 'to' => 'EUR')); ?>`

The admin generator can also switch from shortcode mode to a ready-to-paste `fxcc_convert()` PHP snippet.

The admin generator includes the attribution link attribute by default, and new Gutenberg converter blocks start with attribution enabled in the block sidebar.

You can also keep using the shortcode form: `<?php echo do_shortcode('[fxcc_convert num="100" from="USD" to="EUR"]'); ?>`

= Which API and data sources does the plugin use? =
The plugin retrieves cached exchange-rate data from [https://api-bank.fex.to/](https://api-bank.fex.to/) and aggregates rates from the following 86 public data providers:

1. 🇦🇪 AE Central Bank of the UAE
2. 🇦🇱 AL Bank of Albania
3. 🇦🇷 AR Central Bank of Argentina (retail)
4. 🇦🇷 AR Central Bank of Argentina (uva)
5. 🇦🇷 AR Central Bank of Argentina (wholesale)
6. 🇦🇷 AR Cronista Dollar Blue
7. 🇦🇺 AU Reserve Bank of Australia
8. 🇦🇿 AZ Central Bank of the Republic of Azerbaijan
9. 🇧🇦 BA The Central Bank of Bosnia and Herzegovina
10. 🇧🇩 BD Bangladesh Bank
11. 🇧🇬 BG Bulgarian National Bank
12. 🇧🇭 BH Central Bank of Bahrain
13. 🇧🇷 BR Banco Central do Brasil (USD)
14. 🇧🇹 BT Royal Monetary Authority of Bhutan
15. 🇧🇾 BY National Bank of the Republic of Belarus (Belta)
16. 🇨🇦 CA Bank of Canada
17. 🇨🇭 CH Swiss National Bank
18. 🇨🇱 CL Central Bank of Chile
19. 🇨🇺 CU Central Bank of Cuba
20. 🇨🇿 CZ Czech National Bank
21. 🇩🇰 DK Danmarks Nationalbank
22. 🇩🇿 DZ Crédit Populaire d’Algérie
23. 🇩🇿 DZ Devise Square (Black Market)
24. 🇪🇬 EG Central Bank of Egypt
25. 🇪🇹 ET National Bank of Ethiopia
26. 🇪🇺 EU European Central Bank
27. 🇬🇧 GB Bank of England
28. 🇬🇪 GE The National Bank of Georgia
29. 🇭🇺 HU Hungarian National Bank
30. 🇮🇱 IL Bank of Israel
31. 🇮🇳 IN Financial Benchmarks India
32. 🇮🇸 IS Central Bank of Iceland
33. 🇰🇭 KH Bank of Cambodia
34. 🇰🇷 KR Seoul Money Brokerage Services
35. 🇰🇿 KZ National Bank of Kazakhstan
36. 🇱🇧 LB Bank of Lebanon
37. 🇱🇧 LB Lebanese Lira Black Market
38. 🇱🇧 LB Lebanese Lira Sayrafa Rate
39. 🇲🇦 MA BANK AL-MAGHRIB
40. 🇲🇩 MD National Bank of Moldova
41. 🇲🇲 MM Central Bank of Myanmar
42. 🇲🇽 MX Bank of Mexico
43. 🇲🇽 MX Bank of Mexico (FIX)
44. 🇳🇬 NG Central Bank of Nigeria
45. 🇳🇬 NG Naira Black Market Exchange Rates Today
46. 🇳🇵 NP Nepal Rastra bank
47. 🇵🇪 PE Cambi
48. 🇵🇪 PE Cambia FX
49. 🇵🇪 PE Cambix
50. 🇵🇪 PE Dollar House
51. 🇵🇪 PE Hir Power
52. 🇵🇪 PE Instakash FX
53. 🇵🇪 PE oKane Cambio Online
54. 🇵🇪 PE Roblex
55. 🇵🇪 PE Srcambio
56. 🇵🇪 PE TKambio
57. 🇵🇪 PE Yanki
58. 🇵🇭 PH Central Bank of the Philippines
59. 🇵🇱 PL Polish National Bank
60. 🇷🇴 RO Banca Transilvania
61. 🇷🇴 RO National Bank of Romania
62. 🇷🇸 RS National Bank of Serbia
63. 🇷🇺 RU The Central Bank of the Russian Federation
64. 🇸🇪 SE Riksbank
65. 🇸🇬 SG Monetary Authority of Singapore
66. 🇸🇸 SS Bank of South Sudan
67. 🇹🇭 TH Bank of Thailand
68. 🇹🇯 TJ National Bank of Tajikistan
69. 🇹🇲 TM Central Bank of Turkmenistan
70. 🇹🇳 TN Central Bank of Tunisia
71. 🇹🇷 TR Central Bank of the Republic of Turkey
72. 🇹🇼 TW Central Bank of the Republic of China
73. 🇺🇦 UA Minfin Blackmarket USD
74. 🇺🇦 UA Monobank
75. 🇺🇦 UA National Bank of Ukraine
76. 🇺🇦 UA PrivatBank
77. 🇺🇿 UZ The Central Bank of the Republic of Uzbekistan
78. 🇻🇪 VE Central bank of Venezuela
79. 🇻🇳 VN Vietcombank
80. 🇿🇦 ZA South African Reserve Bank
81. 🏴 OECS Eastern Caribbean Central Bank
82. 🏴 XX CurrencyRate.Today
83. 🏴 XX Transnistrian Republican Bank
84. 🏴 XX West African Monetary Agency
85. 🇪🇬 EG Egypt Pound Black Market Rate
86. 🎮 Second Life Game Currency: Linden Dollar

== Upgrade Notice ==


= 0.3.0 =

* Adds the Gutenberg block, admin generator, PHP helper, and rendering improvements for WordPress 7 compatibility.

= 0.2.3 =

* Fixes bundled translation loading and refreshes the translation template.

= 0.1.0 =

* First release

== Changelog ==
= 0.3.0 =

* Added the new Gutenberg currency converter block.
* Added a backup way to load the Gutenberg converter block, so it still works if WordPress misses the normal block setup.
* Added an admin code generator with preview, source/currency browsing tools, and shortcode/PHP output modes.
* Added an optional attribution link mode for shortcode, PHP, and Gutenberg block output.
* Added the direct `fxcc_convert()` PHP helper for theme templates.
* Improved `dec="match"` precision handling for small converted values.

= 0.2.3 =

* Fixed bundled translation loading by using the correct plugin-relative languages path.
* Refreshed the translation template for the current release.

= 0.2.2 =

* Verified compatibility with WordPress 7.0.

= 0.2.1 =

* Security fix: Sanitized and escaped all user-supplied shortcode attributes to prevent Stored XSS vulnerability (CVE-2025-13963)
* Security fix: Added proper output escaping in settings page

= 0.2.0 =

* Minor bug fixed
* Add multi language support

= 0.1.0 =

* First release

== Screenshots ==

1. screenshot-1.jpg - Admin shortcode generator with live preview, display-format controls, and generated shortcode/PHP snippet output.
2. screenshot-2.jpg - Currency list tab showing supported ISO codes, flags, fiat currencies, crypto assets, and metals.
3. screenshot-3.jpg - Gutenberg block editor view with inline conversion output and sidebar controls for amount, currencies, swap action, and display format.

== 🍩 Donations ==

ℹ️ Website: [CurrencyConvert](https://currencyconvert.online/)

🌐 Sources: [CurrencyRate](https://currencyrate.today/)
