Polylang for WooCommerce 1.0

WooCommerce 3.0 introduced major changes in its structure. The main goal was to be able to use custom tables for products and orders in the future. This did not impacted Polylang for WooCommerce very much because WooCommerce mostly kept the backward compatibility with its previous versions. As Polylang for WooCommerce strongly relies on the underlying custom post types for product and orders, there was however a risk that the future developments of WooCommerce would break our plugin at some point. Thus, it appeared important to us to adapt the plugin to the new structure of WooCommerce. For example we had to rely as much as possible on WooCommerce hooks instead of WordPress hooks. We also had to separate the code related to custom post types from the rest of the logic, just as done in WooCommerce. Thus we made a major refactor, which we can compare to what WooCommerce did for the version 3.0.

The metas and taxonomies synchronization had been introduced in the early ages of Polylang. Working with WooCommerce extensions showed us that some plugins save metas or taxonomies without saving the complete post. As the Polylang synchronization process was hooked to the post update, such plugins bypassed the synchronization process. As this incompatibility with some WooCommerce extensions was the main driver to refactor the synchronization in Polylang 2.3, this new version of Polylang for WooCommerce already adopts the new mechanism of synchronization of Polylang 2.3.

Since its first version, Polylang for WooCommerce implemented its own locale switching method for emails. But when WordPress 4.7 introduced its own method, it was clear for us that we could benefit from it to improve the compatibility with third party plugins. Although this method is still not widely used, we hope that it will be more widely adopted and understood in the future.

As you certainly understood, all this means that Polylang for WooCommerce now requires WordPress 4.7, WooCommerce 3.0 and Polylang 2.3. It will also support WooCommerce 3.4. This is a major release and we strongly recommend that you test it on a staging site before going to production. For now, a beta version is available in your account. Tests and bug reports will be appreciated. Our goal is a final release before the WooCommerce 3.4 release.