Your Dedicated Partner for All Things WordPress

How to Change Currency in WooCommerce Programmatically

Table of Contents

WooCommerce is a popular WordPress plugin that enables merchants to create an online store with ease. One of the features that make WooCommerce stand out is its ability to support different currencies. This means that merchants can display product prices in various currencies and allow customers to pay using their preferred currency. However, there may be situations where a merchant wants to change the currency programmatically, either to override the default WooCommerce behavior or to automate the process. In this blog post, we’ll discuss how to change currency programmatically in WooCommerce.

1. Using Core WooCommerce Functions

WooCommerce has several functions that enable developers to interact with the core functionality. One of these functions is the ‘set_currency’ function, which allows you to set the currency of the current session. To use the function, you can add the following code to your functions.php file:
add_filter(‘woocommerce_currency’, ‘my_custom_currency’, 10, 1);
function my_custom_currency($currency) {
return ‘EUR’
In the above code, we’ve used the ‘add_filter’ function to hook into WooCommerce and execute the ‘my_custom_currency’ function. Inside the ‘my_custom_currency’ function, we’ve returned ‘EUR’ to set the currency to Euro. You can replace ‘EUR’ with any currency code that WooCommerce supports.

2. Using a Plugin

If you’re not comfortable with coding, you can use a plugin to change the currency programmatically. One such plugin is the WooCommerce Currency Switcher. This plugin allows you to switch currencies using a dropdown menu or a shortcode. Additionally, you can set exchange rates, enable automatic currency detection, and more.

3. Using a Third-Party API

If you want to change the currency programmatically based on data from a third-party API, you can use a plugin like WooCommerce API Manager. This plugin enables you to verify purchase licenses and manage product updates using API calls. You can use the API to fetch currency rates from a service like Open Exchange Rates or, and then set the currency programmatically using the ‘set_currency’ function.

4. Using a Custom Function

If you need a more complex solution, you can create a custom function to change the currency programmatically. Inside the function, you can fetch currency rates from an API, perform calculations, and set the currency using the ‘set_currency’ function. Here’s an example function that sets the currency based on the user’s IP address:
function my_custom_currency_function() {
$currency_code = fetch_currency_based_on_ip(); // Replace this with your own function
add_filter(‘woocommerce_currency’, ‘my_custom_currency’, 10, 1);
function my_custom_currency($currency) {
return $currency_code;


Changing the currency programmatically in WooCommerce is possible using several methods. You can use a core WooCommerce function, a plugin, a third-party API, or a custom function to change the currency based on different conditions. By changing the currency programmatically, you can customize your store’s behavior and provide a seamless shopping experience to your customers.

How to get started?

Learn more

WooCommerce Maintenance

Save 33% with our Annual pricing plan.

Get Started

Coupon Code Applied!

Take your time and continue browsing our services.

Alexey Seryapin
Founder of WPServices