Flatsome fix

Flatsome Cart, Mini Cart or Checkout Not Working? Where to Look

On most themes the cart and checkout belong to WooCommerce. On Flatsome they belong to the theme: its templates, its layouts, its header cart. So when a Flatsome checkout misbehaves, the first thing to ask is whether WooCommerce has moved on and the theme's copy of a template has not.

store.test · cart and checkout
From cart to paid order
Where a Flatsome checkout loses its shoppers
1 leak
Put an item in the cart1,240
Opened the mini cart870(70%)
Got to checkout610(70%)
Completed the order96(16%)

514 shoppers reached checkout and stopped. An outdated form-checkout.php in the child theme hid the payment box.

Illustrative — one child theme template, several releases oldone file

What you are seeing

  • Checkout lost a field, a payment box or its layout after a WooCommerce update
  • The header cart still reads zero after a product is added
  • The mini cart opens empty, or shows somebody else's items
  • Add to cart buttons have disappeared across the whole shop
  • WooCommerce, Status flags outdated templates under your theme

Why it happens on Flatsome

Most common first.

  1. 1

    Child theme templates older than WooCommerce

    A woocommerce folder in the child theme holds copies of templates such as checkout/form-checkout.php or cart/cart.php, made the day someone customized them. WooCommerce has changed its originals since: new hooks, new fields, new checks. The old copy still wins, and whatever was added afterward never reaches the page.

  2. 2

    Flatsome itself is behind

    The parent theme ships its own set of WooCommerce templates and refreshes them with each release. A Flatsome that cannot update stops receiving those. After enough WooCommerce releases the theme's own cart and checkout templates are the stale ones, with no child theme involved.

  3. 3

    A block checkout on layouts built for the classic one

    Flatsome's checkout layouts are built on the classic checkout's templates, the checkout placed by the woocommerce_checkout shortcode. The newer Checkout block does not use those templates. A store whose Checkout page holds the block gets a working page that looks unlike the rest of the shop, and theme options for checkout that appear to do nothing.

  4. 4

    The header cart served from cache

    Flatsome's mini cart is filled in after the page loads, by WooCommerce's cart fragments request. A page cache that kept the header along with one visitor's cart, or an optimization plugin that disables fragments to save a request, leaves the count wrong or the dropdown empty.

  5. 5

    Catalog mode, or a plugin doing Flatsome's job twice

    Flatsome has a catalog mode that removes add to cart buttons, the cart and the checkout on purpose. Switched on during a build and forgotten, it looks exactly like a broken store. The quieter version is duplication: a side cart, AJAX add to cart or swatches plugin layered over a feature the theme already provides, each one updating a different cart.

How to fix it, in order

Least invasive first. Stop at the step that fixes it.

  1. 1

    Repeat the fault on staging, console open

    Copy the store to staging so real orders are not at risk. Add a product, open the mini cart and go through cart and checkout as a logged-out visitor in a private window. Watch the browser console and the header count at each step, and note exactly where it goes wrong.

  2. 2

    Read the template report

    The report lives under WooCommerce, Status, in the Templates section near the bottom. Each override is listed with its path and version. Lines under flatsome-child flagged as out of date are files someone customized. Lines under flatsome mean the theme itself needs updating.

  3. 3

    Update Flatsome before editing anything

    Bring the parent theme current on staging. That alone clears every outdated template that belongs to Flatsome, and it changes the files your child theme should be compared against.

  4. 4

    Rebuild each outdated child template

    For each flagged file, start from the current version of the same template in the flatsome folder, or in the WooCommerce plugin if Flatsome does not override it, and reapply your change to that. If nobody can say what the change was for, move the file out of the child theme and test without it. A good many overrides turn out to be unnecessary.

  5. 5

    Check which checkout the page uses

    Edit the Checkout page under Pages. A Checkout block means the block checkout. The woocommerce_checkout shortcode means the classic one. If Flatsome's checkout layout and options matter to you, swap the block for the shortcode on staging and test each payment method. Do the same for the Cart page.

  6. 6

    Settle the cart and catalog settings

    Keep cart, checkout and account pages out of every cache and make sure no plugin has disabled cart fragments. Look under Flatsome, Advanced for catalog mode and confirm it is off. Then review the cart settings in the header and WooCommerce sections of Flatsome, Theme Options, and remove any plugin that duplicates them.

Keep it from coming back

  • Copy a WooCommerce template into the child theme only when a hook or CSS cannot do the job
  • Read the Templates section of WooCommerce, Status after each WooCommerce or Flatsome update
  • Update the theme alongside WooCommerce, never a year behind it
  • Place a test order through the header cart after any caching or optimization change

The permanent fix

A faster Next.js build, with a CMS made for your business

When each WooCommerce release reopens the same child theme files, the checkout has become custom software maintained by copy and paste. For a modest catalog, a Next.js storefront with a custom CMS and a hosted payment step replaces that with one codebase written for this store, with no theme templates to fall behind. If the catalog is large and WooCommerce suits it, the better move is fewer overrides, not a new platform.

On Flatsome todayOn Next.js with a custom CMS
What you keep updatedWordPress, the theme, its builder and every bundled plugin, all in stepNothing on a schedule. There is no theme or plugin stack to fall out of step
How a page is servedBuilt from the database on each visit, through the theme and its builderBuilt ahead of time and served as finished files from servers near the visitor
How you edit itA general-purpose builder with every option the theme shipsA CMS built around what your business actually changes: services, prices, photos, posts
What can break itAn update to any one of those parts, or a license that lapsesA change someone makes on purpose, tested before it goes live

Your content, your addresses and your rankings come with you: every page is moved, every old address is redirected, and you get a login to an editor that only shows what you need. A repair is still the right call for many sites, and we will say so when it is.

Free · No obligation

Want this fixed on your Flatsome site?

Tell us what you are seeing. We look at the site, tell you plainly what is wrong and what it takes, and quote a fixed price before any work starts.

Which of these sounds like you? (pick any)

Frequently asked

Because Flatsome and your child theme hold their own copies of some WooCommerce templates, and WooCommerce compares each copy's version number with its own. A warning under flatsome clears when the theme is updated. A warning under flatsome-child means a file someone customized has to be rebuilt on the current template.

Not always. Many outdated templates go on working for months. The danger is that the failure is silent: a release adds something the old copy lacks, and a field or notice disappears without an error. Treat the warning as a job to schedule soon, and as the first suspect whenever the cart or checkout changes behavior after an update.

Use the one your theme version and extensions were built for, and choose it deliberately. Flatsome's checkout layouts are template-based, which means the classic shortcode checkout. If you prefer the block checkout, test it on staging with each payment method and accept that the theme's checkout options may not apply to it.

Check catalog mode first, under Flatsome, Advanced. It removes purchasing by design and is often left on after a build or a seasonal closure. If it is off, look at the product itself. A missing price, an out of stock status or a variation with no price all remove the button, and that is WooCommerce's doing, not the theme's.

Keep reading

CallGet a quote