Fixing “Outdated Copies of WooCommerce Templates”

We’ve all been there… WooPanic! What do I need to do? What on earth is happening? Is my website going to break?

First of all, relax 🙂 Not much to worry about.

In this post, we’ll see why that notice appears, what problems it could cause and what you can do to fix it.

Fixing the error: "Your theme contains outdated copies of some WooCommerce template files"
Fixing the error: “Your theme contains outdated copies of some WooCommerce template files”

a. Why and When the “Outdated Templates” Error Appears

Theme developers used to (and unfortunately still do) follow WooCommerce old guidelines in relation to customization.

WooCommerce used to recommend creating a /woocommerce folder in the theme, where WooCommerce files could have been copied and customized without overriding the core plugin. Rocket science this far, but don’t worry.

Why is this system considered old, and why do I insist on using hooks for 99% of your WooCommerce customization?

Well, problem is that WordPress theme customization is done via a child theme nowadays. This means if your Parent theme contains a /woocommerce folder, in your Child theme you would have needed to do the same to overriding the overrides. Creating a /woocommerce folder in your child theme to override the /woocommerce folder of your parent theme to override WooCommerce templates… not a great idea anymore!

Although, some old and badly coded themes (sorry devs!), still use this obsolete overriding practice.

And when a new version of WooCommerce is released, sometimes they update/change their template files. As a consequence, your outdated theme (hint here for the fix!) might still be trying to override a WooCommerce template with a version that is different/older than the one used by the new WooCommerce plugin.

Theme authors usually fix their theme pretty fast, so giving them a few days BEFORE updating your WooCommerce plugin is recommended.

b. What Could Happen if Your Theme Contains Outdated Copies

If developers overwrote WooCommerce templates (look for the /woocommerce folder inside the theme files), if you modified the templates yourself or are using a child theme, then something might break.

Once again, your custom theme is using an outdated template, which is trying to override a newer file. Something major (or not) can happen, mostly after huge WooCommerce updates such as 2.6.

Cart/checkout could break, display or functionality problems might happen… and usually you can troubleshoot this by looking at the WooCommerce System Status (also, check my free video tutorial “Master WooCommerce Troubleshooting (plus: 10 WooCommerce Mistakes you Must Avoid“):

WooCommerce System Status: template files out of date
WooCommerce System Status: template files out of date

c. How to Fix “Outdated Copies of WooCommerce Templates”

Here’s a check-list you can use to troubleshoot and take action on this potentially dangerous error notification.

1. Avoid overriding WooCommerce templates 🙂

Yes, sorry, but this is the best long-term solution you may possibly have. Overriding full templates is not recommended any longer.

And if you don’t override (or your theme developers don’t override via /woocommerce folder), then you will never have to fight against this error anymore 🙂

Which brings us to…

1b. Change WordPress theme as soon as possible!

You will keep getting this error forever, as long as you use your current theme. Developers are evidently not keeping up with the latest guidelines.

No theme should contain a /woocommerce folder. Ask and check this before investing in any WooCommerce template 🙂

But what if you’re using an old theme and have no intention of switching to a more modern, optimized one?

2. Check if your theme needs updating

Not always the WP dashboard would notify you if your theme requires updating. Go back to where you purchases the theme and see if they have a newer version.

Updating would probably fix your problem.

Which brings us to tip no.3:

3. Next time, don’t update WooCommerce UNLESS you’re 100% sure your current theme version is FULLY compatible with the latest WooCommerce version

This speaks for itself!

Moving on…

4. Contact the theme developers ASAP

You’re paying them so that they can offer you support. Tell them what version of WooCommerce you’re currently using and what files (see System Status above) require updating.

Contact them immediately and make sure they can send you an updated copy as soon as possible, even before they officially release it on the theme marketplace (as it usually takes a few days).

Then, update your theme

5. If all else fails… downgrade

You gotta DIY. But hopefully it’s only temporary.

The best way to stop that notification and (hopefully) hold on a little longer before theme devs give you an update, is to downgrade WooCommerce.

Not an easy task (make sure to take a full backup before upgrading & downgrading, all the time!), but you can give it a go on a development/staging/clone/test/copy site before doing so on your live WooCommerce install.

Go to the official WordPress repository https://wordpress.org/plugins/woocommerce/developers/ and download the WooCommerce version you used to have before updating. Maybe 2.5.5?

Awesome!

Download it on your computer, unzip it, open your FTP or File Manager, and add the “old” WooCommerce to the /plugins folder of your website.

Note – you cannot have 2 WooCommerce plugins at the same time. A simple tip is to rename the one you want to remove (e.g. “XWooCommerce”) so that you can add the new one “WooCommerce” without overwriting files. In this way, you can always restore the previous by renaming it “WooCommerce”.

Again, this is your last resort and hopefully this is not necessary. Just follow 1 > 4 and you should be ok!

Where to add this code?

You can place PHP snippets at the bottom of your child theme functions.php file (before "?>" if you have it). CSS, on the other hand, goes in your child theme style.css file. Make sure you know what you are doing when editing such delicate files - if you need more guidance, please take a look at my free WooCommerce Customization video tutorial.

Does this snippet still work?

Please let me know in the comments if everything worked as expected. I would be happy to revise the snippet if you report otherwise (please provide screenshots). I have tested this code with Storefront theme, the WooCommerce version listed above and a WordPress-friendly hosting on PHP 7.

If you think this code saved you time & money, please join other Business Bloomer supporters and avail of 365 days of WooCommerce benefits. Thank you in advance :)

Need Help with WooCommerce?

Check out these free videos, tutorials and tips!

  • how-to-edit-woocommerce-with-php-snippets
  • woocommerce-hooks-add_action-list-visual
  • woocommerce-customize-single-product-page-PHP
  • woocommerce-customize-shop-page-PHP
  • woocommerce-advanced-customization
  • how-to-edit-woocommerce-cart
  • woocommerce-customize-checkout-page-PHP
  • woocommerce-email-customization
  • woocommerce-conditional-logic

Rodolfo Melogli

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as a WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza.

4 thoughts on “Fixing “Outdated Copies of WooCommerce Templates”

  1. While many, many things can be changed via hooks and filters, some changes can only be achieved by copying the template file into your theme’s /woocommerce folder.

    1. Thanks Damien for your feedback! I guess I was mostly “complaining” about those themes that override the WooCommerce templates via the /woocommerce folder, making our life complicated when dealing with a child theme.

      And yes, I guess you’re right, for advanced project I guess hooks are not sufficient. Maybe you can make us an example to explain why, in your case, duplicating the templates was necessary?

      Thanks in advance!

    2. Here is an example. In woocommerce/single-product/related.php I wanted to change “Related Products” to “Related Services”. There is no filter for that text so I had to change the template. I could have used a gettext filter to change the text on-the-fly but that is overkill (the gettext filter is run 100s of times per page).

      See the original file at: https://github.com/woothemes/woocommerce/blob/master/templates/single-product/related.php

    3. Excellent Damien, thanks so much for this – it makes sense.

      However, to “translate” a single string inside a template, I’d rather use gettext or “Say What?” plugin as opposed to copy/paste the whole template and having to re-do that when Woo releases a new version.

      If, instead, there is a need to reorder things on the cart/checkout page or add/remove functionality (and hooks are not allowing such customization), then I’d say the template override makes more sense maybe.

      Great to see how different developers handle the same project specs anyway! 🙂

Questions? Feedback? Support? Leave your Comment Now!
_____

If you are writing code, please wrap it between: [php]code_here[/php]. Failure to complying with this (as well as going off topic) will result in comment deletion. You should expect a reply in about a week - this is a popular blog but I need to get paid work done first. Please consider joining #BloomerArmada to ask me 1-to-1 WooCommerce questions. Thank you :)

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.