If you have a wish to convert currencies “on the fly” within the text of a post or page then this is the plugin for you! It’s free to download, free to use and advert free – if you think you have to pay for something you’re doing it wrong!
So, let’s say you run a UK based site and will refer to currencies in GBP. However, the majority of visitors are from the US, so you may have a wish to also show the dollar equivalent. Using this plugin you can do this without having to work out the conversion and then re-visit it in future to take into account conversion changes.
Key features include…
- No need to update exchange rates yourself – data is fetched from an Open Source API
- Over 170 currencies supported
- An easy to use shortcode for embedding directly into your posts and pages
- A PHP function for those people who wish to add features in their theme
- Results can be cached, reducing resources and improving response
- Template to allow you to control how results are output
- Administration screen allowing you to define defaults and to view current exchange rates
- And much, much more!
Please visit the Github page for the latest code development, planned enhancements and known issues.
To add to your site simply use the
[convert] shortcode. For example…
[convert number=49.99 from="gbp" to="usd"]
This would convert 49.99 GBP to USD.
Getting Your App Key
Open Currency Converter gets its data from the Open Exchange Rates website (which is not associated with this plugin nor the developer). This site requires an App Key to be specified for it to work. This is to prevent over-use of the exchange system and to provide premium features for users who wish to pay for them. Having a premium plan does not add any extra features to this plugin and is not a requirement.
To get your App Key sign up on the Open Exchange Rates site. Now head to your site’s admin and under “Setting” you should click on “Open Currency”. Enter the App Key into the appropriate field and Save the results.
The exchange rate data is provided for free via the Open Source Exchange Rates project. Its accuracy and availability are never guaranteed, and there’s no warranty provided.
The Options Screen
Once the plugin is activated two new administration screens will be present.
- Open Currency – This appears under “Settings” and allows you to specify default settings for any currency conversion
- Exchange Rates – Shown under the “Tools” menu, this displays the current exchange rates along with a list of all the valid exchange codes
Before using this plugin it is highly recommended that you review the Options screen and change any values, as appropriate. You will also need to sign up for and enter an App Key before conversions will work.
Using the Shortcode
The shortcode of ‘[convert]’ has the following parameters that you may specify…
- number – The number that you wish to convert from one currency to another. This is required
- from – The currency code that you wish to convert from (see the admin options for a list of valid codes). If you do not specify this value then the default from the options screen will be used
- to – The currency code that you wish to convert to (see the admin options for a list of valid codes). If you do not specify this value then the default from the options screen will be used.
- dp – How many decimal places the output should be. This should be numeric or the word “match”. The latter is the default and will mean that the output will match the number of decimal places that the number was.
- template – See the later section, “Using Templates”, for further information
Example of use are…
[convert number=49.99 from="gbp" to="usd"]
This would convert 49.99 from UK pounds to US dollars and output the result to 2 decimal places.
[convert number=50 from="usd" to="gbp"]
This would convert 50 from US dollars to UK pounds and output the result without any decimal places.
If the conversion can’t be done then an appropriate error message will be output instead. If you wish to suppress these messages then you need to use a template (see the later section on this) – in this case no output will be generated in the case of an error.
The template option allows you to specify other information to be output along with the conversion result. None of the template will be output if any error occurs, including any error messages, allowing you to suppress any conversion text in the case of a problem.
The template text must include
%result% where you wish the output to appear.
Here’s an example…
The retail price is $49.99[convert number=50 from=“use” to=“gap” template=" (approx.%result%) GBP”].
Normally, this would print a result such as…
The retail price is $49.99 (approx. 79.11 GBP).
However, if an error occurs then it will print as…
The retail price is $49.99.
You may also include the template between opening and closing shortcode tags. For example…
The retail price is $49.99[convert number=50 from=“use” to=“gap”] (approx. %result% GBP)[/convert].<h3>Using the Function Call</h3>
If you wish to perform a currency conversion within your theme, rather than within a post or page, then you can use a PHP function call. The function name is
get_conversion and will return the result back.
- All of the shortcode parameters are valid, except for the template which isn’t required
- The parameters are specified in any order and are separated with an ampersand
- You should not add quotes around each parameter value, as you do with the shortcode
<?php echo get_conversion( 'number=49.99&from=gbp&to=usd' ); ?><h3>Global conversion variables</h3>
For the use of developers, 2 global variables have been added which, if assigned within your site code, will override the conversion codes.
The variables are
This is useful if, say, you have multiple versions of the site in different languages – you can then assign these global variables depending on which site is being viewed and all currency will be converted based upon these settings.
These will only override the options screen and not specific parameters specified with a shortcode or function call.