Skip to content
CH SCShop classcommerce · intermediate · ~60 min · 6 steps

How to fix outdated WooCommerce template warnings

Find the template overrides your theme is carrying, diff them against current WooCommerce, and bring them up to date without losing the customizations.

August 10, 2026 · by Dane Petersen

That orange “your theme contains outdated copies of some WooCommerce template files” banner is WooCommerce telling you your theme photocopied some of its pages years ago, and the originals have since been revised. The copies still run — until a WooCommerce update changes something the old copy doesn’t know about, and usually that something is on the checkout. Do this on staging, the same copy you’d use to update WooCommerce safely. You’ll need file access and about an hour of quiet.

Read the system status report

Go to WooCommerce → Status → System Status and scroll to the Templates section at the bottom. It lists every template your theme overrides and flags the ones whose version number lags the plugin’s copy. Note the flagged ones — that’s your worklist. One wrinkle worth knowing: the flag compares version headers, not contents, so a template can be flagged even when nothing meaningful changed. The diff in step three settles it either way.

List every override your theme carries

The status report shows the same thing, but seeing it on disk keeps you honest:

find wp-content/themes/YOUR-THEME/woocommerce -name "*.php"

Each file here shadows the matching file in wp-content/plugins/woocommerce/templates/. Every one is a small promise somebody made to maintain a fork forever — this hour is that promise coming due.

Diff each one against the current template

For each flagged file, compare your copy to the plugin’s current version:

diff -u wp-content/themes/YOUR-THEME/woocommerce/checkout/form-checkout.php \
        wp-content/plugins/woocommerce/templates/checkout/form-checkout.php

Read the diff for two things: what your theme changed on purpose (the customization), and what WooCommerce changed since (new hooks, new escaping, new markup). Jot the intentional changes down — a wrapper div, a reworded string, a removed block. That short list is what you’re actually preserving.

Port your customizations forward

Work in the safe direction: copy the fresh template over your override, then re-apply your noted changes to it.

cp wp-content/plugins/woocommerce/templates/checkout/form-checkout.php \
   wp-content/themes/YOUR-THEME/woocommerce/checkout/form-checkout.php

Then edit the new copy and re-add each customization from your list. This beats patching the old file toward the new one, because you inherit every fix you didn’t know about. Keep the @version header the new file ships with — that’s what clears the warning. If your theme has an update available, check its changelog first; a good theme author may have done this step for you.

Retire overrides that no longer earn their keep

Any override whose diff showed only the version header — or a change now achievable with a hook or a CSS rule — should just be deleted. Every template you stop carrying is one you never diff again. WooCommerce’s own guidance has shifted toward hooks and blocks over template copies for exactly this reason: overrides age like milk, hooks age like cast iron.

Verify the warning is gone and the pages match

Reload WooCommerce → Status — the Templates section should show your remaining overrides with no outdated flags. Then look at the pages themselves: shop, product, cart, checkout, and a completed test order. You’re checking that your customizations survived the port and nothing shifted visually. Clean report, familiar pages, successful test order: ship it to live the same way you’d ship any update, and enjoy a status page with one less banner on it.

That's the lesson. Back to the shop for more — or if this is the chore your organization never gets to,that's literally what we're for.