Euro FxRef Currency Converter

Description

Using the [currency] shortcode you can convert one currency to another. The conversion is based on the rates published by the ECB. You can change from and to any of the supported currencies.

The [currency_legal] shortcode outputs a disclaimer text and a link to the ECB eurofxref page.

Important!

ECB advices against using their rates for transaction purposes. From their site: “The reference rates are published for information purposes only. Using the rates for transaction purposes is strongly discouraged.”

The reference rates are usually updated by ECB at around 16:00 CET every working day, except on TARGET closing days.

Go to the ECB site for more information and disclaimers.

Also note that conversion from non-Euro to non-Euro is done through the Euro, so GBP to USD is calculated as GBP → EUR → USD (converted 2 times).

This plugin is based on a plugin by Xclamation.

Also see wp_eurofxref on GitHub where development takes place.

Shortcode usage & examples

currency_legal shortcode

This shortcode returns the string ‘* For informational purposes only. Exchange rates may vary. Based on ECB reference rates.’

The prepended ‘* ‘ (the same string as the [currency] append string) can be changed using the ‘prepend’ attribute.

For example: [currency_legal prepend='Please note: ']

If you want to change the default prepent string for your whole site you can use the default shortcode_atts_currency_legal filter.
See the shortcode_atts_{$shortcode} reference for more information about this.

currency shortcode

Attributes:

  • from: currency code (default: EUR)
  • to: currency code (default: USD)
  • amount: number of “from” currency (default: 1)
  • iso: boolean (default false); use ISO currency formatting.”€ 1″ would become “1 EUR” in ISO notation.
  • show_from: boolean (default true); show from amount in output
  • between: string (default ‘ / ’ which is displayed as ‘ / ‘ in the browser); string between from and to amounts
  • append: string (default ‘ ‘ which is displayed as ‘ ‘ in the browser); string put after conversion. The * references the disclaimer text, see [currency_legal] shortcode.
  • round: boolean (default true); Round numbers to whole units.
  • round_append: string (default ‘=’); replaces decimals
  • no_from_show_rate: boolean (default true); when from amount is hidden in the output the “to” text gets a tooltip that displays the exchange rate. The <span> element with this tooltip is styled with the to_style css string below. Set the no_from_show_rate option to false to disable the <span> and tooltip.
  • to_style: css string (default ‘cursor:help;border-bottom:1px dotted gray;’); styling of “to” text <span> wrapper.

If you want to change the defaults for your whole site you can use the default shortcode_atts_currency filter. See the shortcode_atts_{$shortcode} reference for more information about this.

Examples

  • [currency amount="875" from="EUR" to="GBP"]
    becomes “€ 875,= / £ 697.= *”
  • [currency amount="875" from="GBP" to="USD" iso=true between=" converts to " append="" round_append=""]
    becomes “875 GBP converts to 1,418 USD”
  • [currency amount="875" from="GBP" to="USD" show_from=false round=false]
    becomes “$ 1,130.15 *”

Static method usage & examples

`legal_string` method

The legal string can also be retrieved in PHP

Usage

<?php echo EuroFxRef::legal_string( $prepend ) ?>

Parameters

  • $prepend (string) The string to prepend the legal text with, default ‘* ‘

Return Value

(string) Legal text prepended with $prepend string.

`convert` method

Since v1.3, you can call the convertor staticly from PHP in your code.

Usage

<?php EuroFxRef::convert( $amount, $from, $to ); ?>

Parameters

  • $amount (float) The amount of currency you want to convert.
  • $from (string) The currency code the amount is in, default EUR.
  • $to (string) The currency code the amount must be converted to, default USD

Return Value

(float) the converted value or 0 (zero) if any of the currency code’s are not available.

Examples

  • <?php $process_later = EuroFxRef::convert( 10, 'USD', 'GBP' ); ?>
    will return the raw numeric (float) value without formatting: 6.01877256317689468545495401485823094844818115234375

Currently available currencies

  • AUD – Australian dollar ($)
  • BGN – Bulgarian lev (лв.)
  • BRL – Brasilian real (R$)
  • CAD – Canadian dollar ($)
  • CHF – Swiss franc (CHF)
  • CNY – Chinese yuan (¥)
  • CZK – Czech koruna (Kč)
  • DKK – Danish krone (kr.)
  • EUR – Euro (€)
  • GBP – Pound sterling (£)
  • HKD – Hong Kong dollar ($)
  • HUF – Hungarian forint (Ft)
  • IDR – Indonesian rupiah (Rp)
  • ILS – Israeli new sheqel (₪)
  • INR – Indian rupee (₹)
  • ISK – Icelandic króna (kr.)
  • JPY – Japanese yen (¥)
  • KRW – South Korean won (₩)
  • MXN – Mexican peso ($)
  • MYR – Malaysian ringgit (RM)
  • NOK – Norwegian krone (kr)
  • NZD – New Zealand dollar ($)
  • PHP – Philippine peso (₱)
  • PLN – Polish złoty (zł)
  • RON – Romanian leu (lei)
  • SEK – Swedish krona (kr)
  • SGD – Singapore dollar ($)
  • THB – Thai baht (฿)
  • TRY – Turkish lira (₺)
  • USD – United States (US) dollar ($)
  • ZAR – South African rand (R)

LTL and LVL are not published any more at least since 2-jan-2020.
RUB is not published since 1-jun-2022 and HRK since 2-jan-2023.

Installation

Installation is easiest through the WordPress “New Plugin” button and search for “Euro FxRef Currency Converter”.

But you can also manually:

  • Download the plugin
  • Uncompress it with your preferred unzip application
  • Copy the entire directory in your plugin directory of your WordPress blog (/wp-content/plugins)
  • Activate the plugin

FAQ

Where do the exchange rates come from?

The European Central Bank (ECB) daily publishes “foreign exchange reference rates” against more than 30 other currencies. These rates are used by this plugin.

The rates are published for informational purposes only and exchange rates may vary.

See the ECB site for more information.

What styling options do I have?

When not showing the ‘from’ value the converted amount is wrapped with a <span> with css styling that is configurable using the ‘to_style’ attribute.

Since v2.0 of the plugin additionaly the following classes are available to style using CSS:

  • ‘eurofxref-conversion-rate’ to overrule the ‘to_style’ attribute value of the [currency] shortcode.
  • ‘eurofxref-append-string’ on a <span> wrapping the ‘ *’ text of the [currency] shortcode.
  • ‘eurofxref-prepend-string’ on a <span> wrapping the ‘* ‘ text of the [currency_legal] shortcode.

What filters are available?

Since v2.0 the following filters are available:

  • ‘shortcode_atts_currency’ to modify the [currency] shortcode attributes.
  • ‘shortcode_atts_currency_legal’ to modify the [currency_legal] shortcode attributes.
  • ‘eurofxref_currency_symbols’ to modify the currency symbols used in your site. The symbols are also run through the ‘woocommerce_currency_symbols’ filter so you don’t need to use both.
  • ‘eurofxref_number_formats’ to modify the currency number formatting used in your site.

Reviews

පෙබරවාරි 11, 2021
Exactly what I needed for my client's tour website. The tour price is in euros but many of the customers are British or American. Now we can give customers an idea of the cost in their currencies. Thank you!
Read all 6 reviews

Contributors & Developers

“Euro FxRef Currency Converter” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.0.2

  • The plugin now tries to retrieve the new ECB rates around 17h00 CET. ECB updates their rates around 16h00 CET so updating an hour later should retreive the newest rates.

2.0.1

  • Bugfix when [currency_legal] is called without attributes.

2.0

  • Added no_from_show_rate shortcode attribute for the [convert] shortcode.
  • Added an option to hook into the default shortcode_atts_{$shortcode} filter for both shortcodes. Those filters become ‘shortcode_atts_currency’ and ‘shortcode_atts_currency_legal’. Please see shortcode_atts_{$shortcode} reference for more information.
  • Updated list of available currencies based on changes by the ECB (RUB and HRK where removed).
  • Refactor of currency symbols and number formats based on how WooCommerce does it.
  • Added filters to modify the currency symbols and the number formats: eurofxref_currency_symbols and eurofxref_number_formats.
  • The currency symbols are also run through the woocommerce_currency_symbols filter so if you have WooCommerce you don’t need to use the eurofxref_currency_symbols filter.
  • Added styling options through classes for ‘eurofxref-prepend-string’, ‘eurofxref-append-string’ and ‘eurofxref-conversion-rate’.

1.5

  • ECB changed the currencies it publishes: ISK is published again but LTL and LVL were removed.

1.4.2

  • Updated ECB url
  • Updated all links to https
  • Compatible with WordPress 5.3.2

1.4.1

  • Updated PayPal donation link
  • Compatible with WordPress 5.2.3

1.4

  • ECB seems to block requests from user-agent WordPress/, changed the user-agent string

1.3

  • Rewrite, so now you can call the convertor staticly from PHP
  • Compatible with WordPress 3.9

1.2.1

  • Compatible with WordPress 3.8

1.2

  • bugfix where [currency_legal] default prepend “* ” would not be added
  • updated plugin uri to new WordPress.org uri scheme
  • all currency symbols should be correct now (some in unicode)

1.1

  • added help text to edit pages

1.0

  • first public version