Aelia - Product update badge

WooCommerce Prices by Country – Product visibility improvement

WooCommerce Prices by Country – What’s new

Prices by Country for WooCommerce has been updated to version 1.6.9.150914. This update brings the following improvements and fixes:

  • Improved compatibility with WooCommerce Currency Switcher. This version improves the logic used to determine the visibility of a product, making it more robust in a multi-currency environment. This improvement also fixes an edge condition in which some products were occasionally considered “not purchasable” when the Currency Switcher was enabled and the prices were displayed in base currency.

How to get latest version

New customers

Simply place your order and you will get the latest version.

Existing customers

You should be able to download the updated file using the link you received with your order. If the link doesn’t work, please contact Support to receive the latest version. Thanks.

Aelia - Product update badge

WooCommerce Shipping Pricing for Currency Switcher – Improved compatibility

WooCommerce Shipping Pricing Integration – What’s new

Our Shipping Pricing Integration Add-on for WooCommerce Currency Switcher has been updated to version 1.1.15.151015. This update brings the following improvements and fixes:

  • Improved cross-compatibility of logic used to override shipping methods. The new logic is compatible with shipping plugins that instantiate a class before our plugin’s filters are executed. This improvement allows plugins like Weight Based Shipping Pricing plugin to work correctly.
  • Fixed initialisation of settings for Table Rates Shipping prices for base currency. The initialisation process now copies all the base currency prices to the appropriate tab automatically, removing the need to re-enter them manually.
  • Improved logic used to extend shipping methods. Covered edge case scenario in which an external plugin replaces the original list of shipping classes with instances of the same.
  • Improved error checking during the initialisation of shipping methods. Fixed edge condition that could trigger infinite loops.

How to get latest version

New customers

Simply place your order and you will get the latest version.

Existing customers

You should be able to download the updated file using the link you received with your order. If the link doesn’t work, please contact Support to receive the latest version. Thanks.

Aelia - Product update badge

Easy Digital Downloads Currency Switcher – Maintenance release

Easy Digital Downloads Currency Switcher – What’s new

Currency Switcher for Easy Digital Downloads has been updated to version 1.3.3.151001. This update brings the following improvements and fixes:

  • Fixed reference to missing constant. An incorrect reference to AELIA_CS_PLUGIN_SLUG constant caused the display of notice messages in PHP error log. This was just a cosmetic issue and did not have any  functional impact. The bug has now been fixed.
  • Updated link to EDD Aelia Foundation Classes.Improved support for export features. We updated the link to the EDD Aelia Foundation Classes, which are now stored on a separate server.
  • EDD AFC – Added new edd_aelia_ip2location_geoip_db_file filter. This new filter allows to override the location of the MaxMind GeoIP2 database. If you have your own database, and would like to use it instead of relying on the one provided with the Aelia Foundation Classes, you can now simply write a filter for this new hook.

How to get latest version

New customers

Simply order the plugin from the product page and you will get the latest version.

Existing customers

You should be able to download the updated file using the link you received with your order. If the link doesn’t work, please contact Support to receive the latest version. Thanks.

Aelia - Product update badge

WooCommerce Currency Switcher – Email fix

WooCommerce Currency Switcher – What’s new

Currency Switcher for WooCommerce has been updated to version 3.8.9.150930. This update brings the following improvements and fixes:

  • Fixed minor bug in notification emails. The bug occurred sporadically, and it caused order notification emails to display the wrong currency symbol. Due to the fact that the issue occurred only occasionally, it was not easy to find its cause, but it seemed to be due to the fact that email notifications can be triggered by Instant Payment Notifications. Such notifications are processed as “guest” connections, outside the context of the original order, and the currency that applies to them is shop’s base one. The fix consisted in ensuring that the active currency is load from the order to which a notification refers.

How to get latest version

New customers

Simply place your order and you will get the latest version.

Existing customers

You should be able to download the updated file using the link you received with your order. If the link doesn’t work, please contact Support to receive the latest version. Thanks.

Aelia - News badge

WooCommerce Currency Switcher and cache – Making them work together

This article continues in WooCommerce and cache – Part 2: new Cache Handler plugin

One of the most common questions we receive from our customers is how to make a highly dynamic, multi-currency, multi-pricing, geolocation-enabled sites work properly with caching enabled. This is not always an easy task, because caching systems are designed with the assumption that the content served by a site doesn’t change depending on the visitor. Such assumption holds true in many cases, as a large number of sites does indeed serve the same content to whoever views a page. In such case, the standard behaviour of caching systems, which is storing one copy of each page in the cache, is acceptable.

As soon as multi-currency features are added, the same behaviour proves itself too limited, because the assumption behind it becomes incorrect. A multi-currency shop serves different content to different visitors, depending on the currency and other criteria (applicable taxes, regional pricing, etc). Quite simply, having one cached copy of each page just doesn’t cut it anymore.

Until recently, the only way to prevent caching from interfering with the multi-currency features was to disable it on catalogue pages. Doing so ensures that the shop can produce content dynamically, showing the correct information to each visitor. In some cases, when the caching system in use is too rigid, this is still the only solution.

How WooCommerce “handles” the issue

WooCommerce itself has to deal with caching since its team introduced geolocation features in it. The WC team added a workaround to “trick” caching systems into letting WooCommerce serve the correct data. Such workaround works by reloading the shop pages in a way that cache is ignored. This ensures that the page shows the correct content but, in our opinion, it’s not an ideal approach. We certainly appreciate the effort put into it, but it’s not good enough for our standards, therefore we decided to find an alternative, more robust solution.

Our solution

Our opinion is that caching systems should adapt to your site, not the other way round. Issues caused by caching should be solved by fixing the caching. With this in mind, instead of implementing a workaround, we tackled the issue at its root, and wrote an algorithm for dynamic caching that takes into account the needs of a multi-currency website.

The algorithm is straightforward, and solves the issue by addressing its cause: instead of one copy of each page, it allows caching systems and plugins to store multiple copies of each page (such as one for each currency). With that in place, visitors from all over the world will see the content that applies to them, with the correct currency and taxes applied. If visitors choose another currency, or country, then our plugins track their choice, and the dynamic caching logic uses it to serve them the correct content.

Our solution grants top performance, with maximum flexibility.

Supported Systems

Dynamic caching is a great solution for highly dynamic, multi-currency sites. However, it can only work if the caching system in use supports it. As of October 2015, the following plugins and systems support, or are planning to support, dynamic caching.

WordPress Plugins

Caching Systems

For caching plugins and systems that do not support dynamic caching, disabling cache on catalogue pages is still necessary to allow the multi-currency features to work correctly.

How to add dynamic caching to your site

Adding it to your site can be as simple as copying one file, or changing one configuration file. In order to allow you to get started quickly, we wrote an implementation of dynamic caching for the following systems:

  • ZenCache/Comet Cache
  • WP Super Cache
  • Nginx

You can find detailed instructions to install and configure each of our solutions, as well as indications for other systems, in our knowledge base: How to add dynamic caching to your site.

We also discussed the implementation extensively with the WP Rocket Team, and provided them with code examples for integration. They confirmed that they are going to add support for dynamic caching and multi-currency sites directly in their plugin.

With dynamic caching and our Currency Switcher, your WooCommerce site will be faster and more flexible than ever!

What about systems that don’t support dynamic caching?

Plugins and caching systems that don’t support dynamic caching still have to be disabled on the catalogue, at least until they are updated. We believe that caching systems should be flexible, and support for dynamic caching is not particularly difficult to implement.

If you are using a plugin, or a caching system that doesn’t support dynamic caching, we recommend thar you get in touch with its authors and express your interest in such feature. You can also suggest them to contact us directly, if they have any questions. We will be happy to provide them with all the information they need to improve their solution.

Questions? Feedback?

We hope that you enjoyed this great news. A faster e-commerce means more customers, and that is always good! If you have any questions about our solutions, or if you would like to send us your feedback, please feel free to contact us. We will get back to you in no time.

Thank for your time and continued support.

The Aelia Team