Want to show two currencies on your WooCommerce product pages? This is a common requirement for stores that sell internationally — displaying the price in your store’s default currency alongside a second currency for reference makes the shopping experience clearer for customers from different countries.
The good news is you can do this with a small PHP snippet — no paid plugin required. In this tutorial, I’ll walk you through exactly how to add a second currency display field to your WooCommerce products.
How It Works
The approach is straightforward:
- We add a custom “Custom Price” field to the WooCommerce product data panel using a hook
- You manually enter the converted price in that field for each product
- A second function displays that price on the product page, right below the main price
This gives you full control over what the second price shows, you decide the value and the currency symbol.
Step 1: View Your Product (Before the Change)
If you already have products in your store, go ahead and view one. You’ll notice it currently shows only the default currency you set when configuring WooCommerce.

Step 2: Add the Code to functions.php
Go to your WordPress dashboard and navigate to:
Appearance > Theme Editor > Theme Functions (functions.php)
Always back up your
functions.phpfile before making any changes. Alternatively, use the free Code Snippets plugin to add this code safely without editing any files directly.
Scroll to the very end of the existing code and paste the following:
// Add custom price field to WooCommerce product data panel
add_action( 'woocommerce_product_options_pricing', 'themelocation_custom_cost_product_field' );
function themelocation_custom_cost_product_field() {
// Change to your desired currency symbol here
$custom_currency_symbol = '€';
woocommerce_wp_text_input( array(
'id' => 'custom_price',
'class' => 'wc_input_price short',
'label' => __( 'Custom Price', 'woocommerce' ) . ' (' . $custom_currency_symbol . ')'
) );
}
// Save the custom price field
add_action( 'woocommerce_process_product_meta', 'themelocation_save_custom_price_field' );
function themelocation_save_custom_price_field( $post_id ) {
$custom_price = isset( $_POST['custom_price'] ) ? sanitize_text_field( $_POST['custom_price'] ) : '';
update_post_meta( $post_id, 'custom_price', $custom_price );
}
// Display the custom price on the product page
add_action( 'woocommerce_single_product_summary', 'themelocation_display_custom_price', 11 );
function themelocation_display_custom_price() {
global $post;
$custom_price = get_post_meta( $post->ID, 'custom_price', true );
$custom_currency_symbol = '€';
if ( ! empty( $custom_price ) ) {
echo '<p class="custom-second-price">' . esc_html( $custom_currency_symbol . $custom_price ) . '</p>';
}
}
Click Update File to save.
To change the second currency symbol: Replace
'€'with your desired currency symbol — for example'£'for British Pounds,'¥'for Japanese Yen, or'₹'for Indian Rupees. Update it in both thethemelocation_custom_cost_product_fieldandthemelocation_display_custom_pricefunctions.
Step 3: Add the Second Price to Your Product
Now go to Products > Add New (or edit an existing product). In the Product Data panel under the General tab, you’ll see a new field called Custom Price (€).
Enter the converted price in this field and click Publish or Update.

Step 4: View the Result
Go to the product page on the front end. You’ll now see both prices displayed — the default store currency above, and the second currency directly below it.

Quick Reference: Common Currency Symbols
| Currency | Symbol |
|---|---|
| US Dollar | $ |
| Euro | € |
| British Pound | £ |
| Japanese Yen | ¥ |
| Indian Rupee | ₹ |
| Canadian Dollar | CA$ |
| Australian Dollar | A$ |
Conclusion
Displaying two currencies in WooCommerce is a straightforward customization that can make your store more accessible to international customers. With the snippet above, you get a clean second price field in the product editor and automatic display on the product page, no plugin needed.
Just remember: this is a display-only solution. The prices you enter need to be updated manually if exchange rates change. For a fully automated multi-currency experience, pair this with a live exchange rate plugin.
Frequently Asked Questions
Will checkout process in both currencies?
No. This method is purely for display. All transactions at checkout are processed in your store’s default WooCommerce currency. If you need actual multi-currency checkout, use a plugin like WooCommerce Multilingual & Multicurrency or Currency Switcher for WooCommerce.
Does the exchange rate update automatically?
No with this method, you manually enter the second currency price for each product. It won’t auto-convert based on live exchange rates. For automatic conversion, you’ll need a dedicated multi-currency plugin.
Can I display more than two currencies?
Yes you can duplicate the custom field code and create a second custom field (e.g. custom_price_2) with a different currency symbol. The same display logic applies.
Will this work with variable products? The code above targets the main product pricing panel and works for simple products. For variable products, you’d need to add the custom field to the variation pricing panel using the woocommerce_variation_options_pricing hook instead.
Where exactly should the currency symbol be changed in the code?
In two places, inside themelocation_custom_cost_product_field() (which controls the field label in the admin) and inside themelocation_display_custom_price() (which controls what’s shown on the front end). Both need to match.
