Roots Discourse

WooCommerce + Sage maintability

Hello group !

Using WooCommerce imply to check for the plugin updates and adjust the theme templates whenever the new plugin’s version change the original ones.

How do you deal with that with your clients ?

I’m trying to use mostly CSS to customise WooCommerce and minimise templates overriding, but sometimes overriding templates is needed to achieve custom layouts.

My concern is that I realised there is no other way than providing an additional support to clients using WooCommerce in order to manage WooCommerce updates, and fix templates when it’s needed.

How do you manage this king of situation from your experience ? Is there a best way to handle this ?

First I try to use WooCommerce options, if there is no such option, then a plugin.
If there is no plugin for achieving the desired result, or when the modification fits too much into a theme, I try to use a hook instead. If that doesn’t work, I think about overriding a WooCommerce template, maybe first still trying to use a gettext filter if it is really just a piece of text. However, I never have really experienced dramatic template changes by WooCommerce.
The best way to catch these changes would be using automated tests and CI.
When the WooCommerce plugin is updated (automatically), tests run to determine whether the shop base functionality and intended changes are still working, when the tests fail, further adjustments are necessary. Adding a manual verification step further ensures that for each deploy (or release in your case) the theme still works correctly.

1 Like

You’ll have that issue with all themes, not just sage. WooCommerce usually warns you about upcoming changes or will give you depreciation notices. New WooCommerce majors with template changes don’t happen too often. You can also just not update WooCommerce to a new major if your client is not willing to pay the extra maintenance costs.

1 Like

We have been working on a solution to this where we use WooCommerce’s hooks plus extra sass files to be able to modify things without using theme overrides. It’s still a work in progress, but will provide some details in a few weeks once we are done.

1 Like