Currency Selector
A dropdown of 33+ common ISO 4217 currencies. Supports single or multi-select and can return the currency code, symbol, or full name. Useful for pricing fields, invoice settings, or any context where editors need to specify a currency.
Settings
| Setting | Default | Options | Description |
|---|---|---|---|
| Multiple | false | on/off | Allow selecting more than one currency. |
| Return Format | code | code · symbol · name | What get_field() returns for each selected currency. |
Included currencies
USD · EUR · GBP · JPY · AUD · CAD · CHF · CNY · INR · BRL · MXN · SGD · HKD · NOK · SEK · DKK · NZD · ZAR · AED · SAR · THB · TRY · IDR · MYR · PHP · PLN · CZK · HUF · RON · ILS · KRW · VND · BDT
Return values
Single select
$currency = get_field('invoice_currency');
// return_format: 'code'
// "USD"
// return_format: 'symbol'
// "$"
// return_format: 'name'
// "US Dollar"
Multi-select
Returns an array of values in the chosen format.
$currencies = get_field('accepted_currencies');
// ['USD', 'EUR', 'GBP'] (return_format: 'code')
// ['$', '€', '£'] (return_format: 'symbol')
Usage
Displaying a price with symbol
$symbol = get_field('currency'); // return_format: 'symbol'
$price = get_field('price'); // plain number field
if ($symbol && $price !== false) {
echo '<span class="price">' . esc_html($symbol . number_format((float)$price, 2)) . '</span>';
// "$1,299.00"
}
Building a currency selector UI
$selected = get_field('preferred_currency'); // return_format: 'code'
// Use the stored code with a JS currency library or Intl.NumberFormat
Multi-currency accepted payments display
$currencies = get_field('accepted_currencies'); // return_format: 'code', multiple: true
if ($currencies) {
echo '<p>We accept: ';
echo implode(', ', array_map('esc_html', $currencies));
echo '</p>';
}
Formatting with PHP’s NumberFormatter
$code = get_field('product_currency'); // "EUR"
$amount = get_field('product_price');
if ($code && $amount) {
$fmt = new NumberFormatter('en_US@currency=' . $code, NumberFormatter::CURRENCY);
echo esc_html($fmt->formatCurrency((float)$amount, $code));
// "€1,299.00"
}