Storefront store guide
Storefront WooCommerce Guide: The Hooks, the Header Cart and Life After Purple
Storefront is the only theme on this list made by the people who make the cart. That buys a shop that renders the way WooCommerce intended, a header cart wired into WooCommerce's own fragments, and a set of hooks a developer can rearrange in an afternoon. It does not buy a roadmap.
October 13, 2026 · 9 min read
The short answer
Storefront is WooCommerce's own free classic theme. It styles the shop, cart and checkout as WooCommerce designed them, adds a header search and cart, a product homepage and a Sticky Add-To-Cart option, and is customized through hooks in a child theme. Its repository now limits work to critical and compatibility fixes, and WooCommerce is beta-testing a block theme, Purple.
On this page
- Made by the WooCommerce team, priced at nothing
- The hook map a child theme works from
- Customizer switches for the shop, and the edges of them
- Cart fragments: the speed cost Storefront chose on purpose
- What critical-fix-only means for a live shop
- Purple, WooCommerce's block theme, seen from a Storefront store
- Past the theme: when the store outgrows the stack
Made by the WooCommerce team, priced at nothing
Storefront entered the wordpress.org directory in November 2014 and, as of our October 2026 check, reports 90,000+ active installs. It costs $0 for unlimited sites, with no license key to lose and no renewal to miss. WooCommerce describes its integration with WooCommerce and popular extensions as bespoke, and in practice that means shop grids, single product pages, cart and checkout look the way WooCommerce's developers drew them, with very little reinvention layered on top.
That restraint is the store owner's real benefit. A theme that replaces fewer parts of WooCommerce has fewer places to disagree with WooCommerce on update day. The cost is design control: past colors and header options in the Customizer, changes are made in PHP. The Storefront review covers the theme as a whole; this page stays inside the shop.
The hook map a child theme works from
Storefront's shop is assembled from actions, and every piece has a name and a priority. That is why a developer can move the search bar, drop a homepage section or insert a trust badge with a line or two in a child theme's functions.php, without copying a template file. These are the store-related hooks in version 4.6.2, read from the theme's own files.
| Hook and priority | What it draws | |
|---|---|---|
| Header search | storefront_header, 40 | storefront_product_search, the product search box |
| Header cart | storefront_header, 60 | storefront_header_cart, the cart link and dropdown |
| Primary menu | storefront_header, 50 | storefront_primary_navigation, between search and cart |
| Homepage sections | homepage, 20 to 70 | Categories, recent, featured, popular, on-sale and best-selling products, in that order |
| Sticky add to cart | storefront_after_footer, 999 | storefront_sticky_single_add_to_cart on product pages |
| Phone footer bar | storefront_footer, 999 | storefront_handheld_footer_bar for small screens |
| Live cart count | woocommerce_add_to_cart_fragments filter | storefront_cart_link_fragment refreshes the header cart |
Storefront also removes WooCommerce's default content wrappers and the woocommerce_sidebar output, then supplies its own, so a plugin that expects WooCommerce's stock wrappers can land a few pixels off. To hide the header cart, for example, a child theme calls remove_action( 'storefront_header', 'storefront_header_cart', 60 ). Reordering the homepage is the same move with the homepage hook and new priorities. When a header half-draws after edits like these, Storefront header not showing is the checklist.
Customizer switches for the shop, and the edges of them
Storefront registers one WooCommerce section in the Customizer, called Product Page, with two settings: Product Pagination, which adds next and previous product links, and Sticky Add-To-Cart, which pins a buy bar to the screen as a shopper scrolls a long product page. Both are cheap wins on product pages with long descriptions. Everything else about shop layout is either a WooCommerce setting, such as catalog image sizes and shop page display, or code.
- The homepage template, template-homepage.php, draws product rows from the homepage hook. Assign it to a static front page and the rows appear; remove a row with remove_action.
- The handheld footer bar gives phones a bottom strip with account, search and cart links. Removing it is one line; restyling it is CSS in the child theme.
- The Handheld Menu is a separate menu location for phones. Forgetting to assign it is the classic cause of an empty mobile menu; see Storefront mobile menu not working.
- Block content inside pages is styled by a gutenberg-blocks.css file, and 4.6.0 added Appearance Tools support, but shop templates remain PHP and cannot be edited in the Site Editor.
If a child theme edit refuses to show, caching and stylesheet order are the usual causes, covered in Storefront CSS not updating. Our theme customization team writes and maintains these child themes for store owners who would rather not open functions.php.
Cart fragments: the speed cost Storefront chose on purpose
Storefront's file list is short: style.css, icons.css, gutenberg-blocks.css, a navigation script and a homepage script, plus Source Sans Pro from Google's font servers. The store-specific item is wc-cart-fragments, which Storefront enqueues so the header cart shows a current count. Since WooCommerce 7.8, core loads that script only where the cart widget appears; Storefront brings it back on every page because its cart lives in the header. The result is a background request on page views where nobody is shopping.
Whether that is worth it is a business call. A store where shoppers browse many products before buying benefits from a live cart count. A store whose traffic is mostly blog readers pays for it on every article. A developer can unhook storefront_header_cart and dequeue the wc-cart-fragments script on content pages, then measure. Check the result with a logged-out test add to cart, because a stale header cart costs more trust than a few milliseconds.
The heavier truth is shared with every theme. WooCommerce's documentation says to exclude Cart, Checkout and My Account from page caching, so those pages run the full stack on each view. A lean theme helps there, which is one honest argument for Storefront. Font hosting and the fragments decision are walked through in the Storefront speed guide.
What critical-fix-only means for a live shop
Storefront's repository carries a status file saying the theme is in active development, then limiting work to critical bugs, bugs with broad impact, compatibility and release-process fixes. Most enhancement requests and feature pull requests are closed. Releases have slowed to about one a year: 4.6.1 in January 2025 and 4.6.2 in December 2025. Its readme still says tested up to WordPress 6.5 and WooCommerce 8.8, while current releases are WordPress 7.1.3 and WooCommerce 11.1.2.
None of that breaks a store on its own. It does change who does the testing. The recent fixes show the pattern: price-filter slider color, sale-price contrast raised to AAA, coupon error styling, and a 4.6.2 fix for product pages timing out with a 504 on WordPress 6.9 when neighboring products shared publish dates and were hidden. The repair came, after a core release found the fault.
- 1
Keep a staging copy
A recent copy of the store, with real products and the same plugins, on the same PHP version as live.
- 2
Update WooCommerce there first
Then check WooCommerce, then Status, for template warnings from your child theme.
- 3
Walk the purchase path
Shop grid, product page, cart, checkout and the order email, on desktop and a phone.
- 4
Ship, then watch
Update live, then watch orders and error logs for a day before the next change.
When the walk turns up a broken grid or product page, Storefront WooCommerce layout broken is specific to this theme and WooCommerce layout broken explains the general mechanism. A checkout that stops taking orders goes to WooCommerce checkout not working, and stubborn timeouts to 504 gateway timeout.
Purple, WooCommerce's block theme, seen from a Storefront store
On September 15, 2026 WooCommerce announced a beta of Purple, which it calls its first official block theme, available on GitHub and a preview site and planned for the Theme Directory and the Marketplace. It ships block templates for WooCommerce pages, ten color palettes, ten font pairings and an ecommerce pattern library covering product grids, filters, collections, calls to action and product pages. The announcement tells testers to run the latest WordPress and WooCommerce.
The post compares Purple directly with Storefront, which it calls the classic flagship theme. It notes that Storefront users may have needed extensions for things like product hero designs, custom homepages, product galleries, a mini-cart or a more advanced header and footer, and argues a good block theme gets those from the editor instead. It says nothing about retiring Storefront, and we found no WooCommerce statement telling stores to switch.
Stay on Storefront for now if
- The store sells well and a developer maintains the child theme
- Your customizations are hooks you would have to rewrite anyway
- You cannot afford checkout surprises from beta templates
Start testing Purple if
- You want staff to edit shop templates in the Site Editor
- You pay for extensions only to get a mini-cart or homepage layout
- A redesign is already on next year's budget
Either way, nothing hook-based transfers. A move to Purple means rebuilding the header, homepage and child theme changes as blocks, so do it once, after a stable release, on a copy of the store.
Past the theme: when the store outgrows the stack
Storefront is rarely what limits a store. The limits arrive as plugins: subscriptions that miss renewals, HPOS order tables out of sync with a reporting extension, checkout extensions that each add a script to the slowest page on the site. If renewals are failing, see subscriptions not renewing; for order table trouble, HPOS sync issues. Live store faults beyond the theme go to WooCommerce website repair.
Storefront does exactly what WooCommerce asks of it. The question is whether WooCommerce is still what the business should ask.
When the answer is no, compare before redesigning. Storefront vs Next.js weighs the theme against a custom build, WooCommerce vs Next.js for ecommerce covers the engine, and WooCommerce to Next.js maps products, customers and order history. The theme-specific steps are in Storefront to Next.js. Sites we build run on Athena CMS, with built-in e-commerce, plain product fields and every version kept. Other store themes, including Flatsome with WooCommerce, are reviewed under WordPress themes.
Questions people ask before they call
In a child theme's functions.php, call remove_action( 'storefront_header', 'storefront_header_cart', 60 ). That removes the cart link and dropdown. Storefront also enqueues WooCommerce's wc-cart-fragments script for that cart, so a developer may dequeue it on pages where nobody shops. Test add to cart afterwards, logged out, to make sure the cart page still updates.
In the Customizer, under the Product Page section that Storefront registers for WooCommerce. The same section holds Product Pagination, which adds next and previous product links. The sticky bar is drawn by storefront_sticky_single_add_to_cart on the storefront_after_footer hook, so a child theme can also remove or restyle it in code.
Yes, narrowly. The repository is not archived, and its status file says work continues on critical bugs, broad-impact bugs, compatibility and release fixes, while most feature requests are closed. The last release, 4.6.2, came on December 9, 2025. Test each WooCommerce update on staging, because the readme's tested-up-to headers are well behind current versions.
Not while Purple is a beta. WooCommerce announced it on September 15, 2026 and plans a Theme Directory and Marketplace release. Test it on a copy of your store when that happens. Hook-based changes, the homepage and the header will need rebuilding as blocks, so plan it as a redesign, not a theme toggle.
Its own footprint is small: a few stylesheets, two scripts and Google-hosted fonts. The fixed costs are the cart fragments request on every page and the uncached cart, checkout and account pages that every WooCommerce theme shares. Most slow Storefront stores are slow because of images and plugins. The Storefront speed guide covers what to change first.
Keep reading
- Storefront speed guideStorefront Theme Speed: The Header Cart, Cart Fragments and the Pages No Cache Can HoldStorefront theme speed: why its hard-coded header cart keeps cart fragments on every page, which WooCommerce pages cannot be cached, and the fixes in order.
- Storefront shop pagesStorefront WooCommerce Layout Broken: An Old Stylesheet Meets New Shop MarkupStorefront WooCommerce layout broken? Check child theme template copies, block cart and checkout styling, sidebar widgets and Storefront's stale headers.
- Store migration guideStorefront to Next.js: Migrating a WooCommerce Store Without Losing a SaleMigrate a WooCommerce Storefront store to Next.js: products, customers, orders, subscriptions, hooks, URLs and payments, in the order that protects revenue.
- Storefront on a phoneStorefront Mobile Menu Not Working: The Menu Button, navigation.js and the Handheld MenuStorefront mobile menu not working? Check the Handheld Menu location, navigation.js under a speed plugin, child theme overrides and the footer bar.
- For store owners deciding nowStorefront Theme Review (2026): Free, Steady and No Longer GrowingStorefront theme review for October 2026: what WooCommerce's free theme still does well, what critical-fix status means, and whether to wait for Purple.
- WooCommerce's own themeStorefront vs Next.js: What a WooCommerce Store Should Do NowWooCommerce Storefront vs Next.js: a theme in critical-fix mode, stale tested-up-to headers, the Purple beta, and when a store should stay or rebuild.
- Everything in WordPress ThemesSee the section
Get a plan for your Storefront store
Tell us what the store sells and what is bothering you. We will check the child theme, the update path and the checkout, and tell you whether to stay, test Purple or rebuild.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.