Upgrade WooCommerce Currency Switcher Free to Pro, Keep Settings
To upgrade the WooCommerce currency switcher FOX from the free WordPress.org version to Pro, you replace the plugin's files and nothing else. Both versions are the same plugin with the same settings; the free build only adds the two-currency limit and the notices about it. Your currencies, rates, GeoIP rules and fixed prices are stored in the database and stay where they are. Below is how the two builds relate, two safe ways to make the switch, how to confirm the full version is running, and what to do when the two-currency limit is still there afterwards.
How the free and the full build relate
The free and the full build come from one code base. They use the same plugin folder, wp-content/plugins/woocommerce-currency-switcher, the same name in the plugin list (FOX - Currency Switcher Professional for WooCommerce) and the same version numbers. For WordPress they are one plugin, so they do not run side by side: installing one in place of the other is a replacement.
The free build is recognisable only by its limit and its notices:
- a Go Pro! link next to Settings and Documentation under the plugin in the Plugins list;
- a yellow note on the Currencies tab saying that in the free version you can operate with 2 currencies only;
- Prepend Currency and Append Currency show a message about the limit instead of adding a row;
- the Currency Wizard says it is disabled in the free version.
What you have configured lives outside the plugin folder. Currencies and rates are the woocs option, every other setting is a woocs_* option (GeoIP rules, payment rules, switcher designs, storage and cache options), and fixed prices are product meta such as _woocs_regular_price_EUR. FOX has no uninstall routine, so removing the plugin files deletes none of it. The full build does not reset anything to defaults either: FOX writes its defaults only the first time it runs on a site, and the database records that this has happened.
Make a database backup before the switch all the same. It costs a minute and covers anything unexpected on the server.
Switch to the full build in place
This is the cleanest way, because the plugin stays active and no setting is touched for a second.
- Go to Plugins → Add New Plugin and click Upload Plugin.
- Choose the zip of the full version and click Install Now.
- WordPress recognises the folder and shows This plugin is already installed, with the current and the uploaded version side by side. Click Replace current with uploaded.
- Open WooCommerce → Settings → Currency. Your currencies are there, the yellow two-currency note is gone, and Append Currency adds rows.
Two errors can stop the upload:
- No valid plugins were found: the file you uploaded is a package that contains the plugin zip, not the plugin zip itself. Unpack it and upload the inner zip, as described in I just bought the plugin and can't install it.
- The uploaded file exceeds the upload_max_filesize directive in php.ini: the server refuses files of that size. Raise
upload_max_filesizeandpost_max_sizein the hosting panel, or use the FTP route below.
Or remove the free build first
If you prefer, deactivate the free FOX in Plugins, click Delete, then upload the full version and activate it. WordPress's confirmation asks whether to delete the plugin "and its data"; for FOX only the files go, for the reason explained above. Between the deletion and the activation the shop runs without a currency switcher, so do it in a quiet hour.
With FTP or the hosting file manager, delete the folder wp-content/plugins/woocommerce-currency-switcher completely and upload the folder from the unpacked full version in its place. Delete rather than overwrite, so that no old file stays behind.
Two messages belong to this route:
- Destination folder already exists: the folder of the free build is still there. If the plugin does not appear in the Plugins list, a previous attempt left the folder behind; delete it with FTP or the file manager and install again.
- Plugin could not be activated because it triggered a fatal error, with Cannot declare class WOOCS_SESSION, because the name is already in use: two copies of FOX are installed in different folders, for example after the archive unpacked into a folder with another name, and you are activating the second while the first is active. Both declare the same PHP classes. Keep one copy, in the folder named
woocommerce-currency-switcher, and delete the other.
Still only two currencies after the upgrade
Do not judge by the version number: both builds carry the same numbers. Look for the signs listed at the top instead. If they are still there, one of these is the reason:
- The free files were never replaced. The upload failed, Cancel and go back was clicked, or the full version went into a second folder and is inactive. Two entries with the same name in the Plugins list mean two copies; keep the full one as described above.
- A cache still serves the old copy. Many hosts keep compiled PHP files in OPcache and do not check the disk on every request, so the replaced files can keep running for a while. Clear the hosting cache or restart PHP from the panel, clear any page cache, and reload the settings page with Ctrl+F5 (see how to reset the page cache in the browser).
- An update put the free build back. Because the folder and the version numbers match, WordPress can treat the version in the WordPress.org directory as an update for your copy and offer it on the Updates screen. If the limit returned right after an update, upload the full version again with Replace current with uploaded.
Once the full build runs, add currencies with Append Currency: type the ISO code (EUR, GBP), press the refresh button next to the rate, check the symbol and click Save changes. The Currency Wizard adds several at once with Install selected currencies. If newly added currencies vanish after saving, the cause is a server limit rather than the build; see currency switcher settings not saving.
Working within two currencies in the free version
The free build keeps the base currency of the shop and one more. To change that second currency, for example from EUR to INR, do not delete the row: FOX needs at least two currencies and restores its default pair when fewer than two are saved. Type the new code into the existing row instead, refresh its rate, adjust the symbol and save.
Leave the row marked as the base currency alone. On save, FOX writes the code of that row into WooCommerce's own currency setting, so editing it changes the currency of the whole store, while the product prices keep their numbers.
Updating the full version later
A newer full version is installed the same way: upload its zip and choose Replace current with uploaded, or delete and reinstall. The settings stay for the same reason as before. What does not survive is any edit made inside the plugin's own files, because every file in the folder is replaced. Keep custom code in the child theme's functions.php or a code snippets plugin, using the documented hooks and functions.
Checklist
- Database backup made.
- Full version uploaded as the plugin zip, with Replace current with uploaded or after deleting the free one.
- One FOX entry in the Plugins list, without a Go Pro! link.
- No two-currency note on the Currencies tab, and Append Currency adds a row.
- Hosting cache and browser cache cleared if the old screens still show.
If the full version is installed and the limit is still there, open a topic on the FOX support forum with what the Plugins list shows for FOX, and we will look at it.