WooCommerce checkout blocks vs shortcode checkout: what to use in 2026
WooCommerce checkout blocks vs shortcode checkout: what to use in 2026

WooCommerce has two ways to build your cart and checkout pages: the block-based Cart and Checkout blocks, and the older shortcode-based checkout (the [woocommerce_cart] and [woocommerce_checkout] shortcodes). Since WooCommerce 8.3, released on 16 November 2023, new stores get the blocks by default.
Existing stores were not switched automatically, and the shortcodes remain available. WooCommerce said at the time that the shortcodes "will continue to be available in WooCommerce Core for existing stores that have customized checkout flows requiring them."
So the practical question for most store owners is not "which one exists?" but "which one works with my extensions and customizations?" This guide explains how the two differ, how to check compatibility, what you can customize in the block checkout, and how to switch in either direction.
Key Takeaways
- Block-based Cart and Checkout are the default for new WooCommerce stores since version 8.3 (November 2023).
- The classic shortcode checkout is still supported for stores that need it.
- Extensions that add markup to checkout through PHP hooks usually need integration work before they work in the block checkout.
- WooCommerce warns you about incompatible extensions and offers a one-click switch back to the classic checkout.
- The block checkout is customized through block settings, inner blocks, the Additional Checkout Fields API and the Store API rather than template overrides.
Block checkout vs shortcode checkout at a glance
| Cart and Checkout blocks | Shortcode (classic) checkout | |
|---|---|---|
| Default for | New stores since WooCommerce 8.3 | Stores created before 8.3 that have not switched |
| Editing layout | In the block editor or Site Editor, with block settings | Theme templates, CSS and PHP hooks |
| Adding fields | Additional Checkout Fields API, or compatible extensions | PHP hooks and checkout field filters |
| Data layer | Store API | Classic AJAX checkout and PHP form handling |
| Local pickup locations | Built-in pickup locations with a Ship/Pickup choice | Legacy Local Pickup shipping method |
| Extension support | Requires extensions built or updated for blocks | Supported by most long-standing extensions |
What the block checkout includes
The Checkout block is made of inner blocks you can select and configure. According to WooCommerce's Checkout block documentation, it includes:
- Checkout Fields, with "Form Step Options" for numbered steps and "Address Fields" toggles for Company, Address Line 2 and Phone, including whether Address and Phone are required.
- Express Checkout, which shows express methods such as WooPay, Apple Pay and Google Pay when your gateway supports them.
- Delivery, letting customers choose between shipping and local pickup.
- Shipping Address, Terms and Conditions (with a "Require Checkbox" option) and an Actions block with an optional return-to-cart link.
- Checkout Totals, the order summary, where the coupon form can be removed.
The block checkout also has a built-in local pickup feature. Once it is enabled under WooCommerce > Settings > Shipping, you add pickup locations (a name, address and details), and customers choose between "Ship" and "Pickup" at checkout. WooCommerce notes that the pickup address is used to calculate tax when a customer picks that location.
Extension compatibility: the main deciding factor
The classic checkout let extensions add fields and content through PHP hooks that print HTML into the page. The block checkout renders in the browser from data supplied by the Store API, so those hooks do not output into it. WooCommerce's cart and checkout guide says that extensions using hooks to render additional markup in the cart or checkout pages (for example, custom checkout fields) "usually require integration work to support the Cart and Checkout Blocks."
How to check what you have:
- WooCommerce.com product pages show a Compatibility section that says whether the extension supports the Cart and Checkout blocks.
- Developer declarations: extensions can declare support or incompatibility with FeaturesUtil::declare_compatibility( 'cart_checkout_blocks', ... ).
- In the editor: if an active extension has declared itself incompatible, WooCommerce shows a warning and a button to switch to the classic checkout with one click.
- Testing: place real test orders with every payment method, shipping option and checkout add-on you use.
Pay special attention to payment gateways, checkout field editors, delivery date pickers, gift options, B2B and tax-exemption plugins, and anything that changes totals. Our guide to choosing WooCommerce extensions covers compatibility checks in general.
Customizing the block checkout
Customization works differently from the classic checkout. Your options, from simplest to most technical:
1. Block settings in the editor
Open the Checkout page in the editor and select the inner blocks. You can turn optional address fields on or off, require a terms checkbox, show numbered steps, change the return-to-cart link, adjust headings and text, and use your theme's styles. Block themes can also style the page through Global Styles.
2. Additional Checkout Fields API
For extra fields such as a VAT number, a PO number or a "how did you hear about us" question, WooCommerce provides the Additional Checkout Fields API. It was marked stable in WooCommerce 8.9. A developer registers fields in PHP, and WooCommerce renders, validates and saves them in the block checkout.
3. Inner blocks, filters and the Store API
Developers can register their own inner blocks inside the Checkout block, use front-end filters to change certain values, and extend the Store API to add data to cart and checkout responses. WooCommerce's Cart and Checkout extensibility docs describe each method. Some server-side PHP actions and filters from the classic checkout still work during order processing; others have documented alternatives.
4. Checkout field editor extensions
If you do not have a developer, look for a checkout field plugin whose listing explicitly says it supports the block checkout.
Payments and express checkout in the block checkout
Payment gateways need block support of their own. A gateway that only supports the classic checkout may not be offered in the Checkout block, which is the most serious kind of incompatibility because it stops sales. Before switching, confirm that each gateway you use lists Cart and Checkout block support.
The block checkout has a dedicated Express Checkout area at the top. It shows one-tap methods such as WooPay, Apple Pay and Google Pay when your gateway supports them, so customers can pay without filling in the full form. The Express Checkout block has no settings of its own; what appears depends on the gateway and the customer's device and browser.
Fees do not change because of the checkout type. With WooPayments in the US, for example, WooCommerce lists most express methods (Apple Pay, Google Pay, Link and WooPay) at the same rate as cards as of October 2026. See WooPayments explained for the full fee table.
Should you switch an older store to blocks?
Switch when:
- all your payment gateways and checkout extensions support the blocks;
- your checkout customizations can be rebuilt with block settings or the Additional Checkout Fields API;
- you want local pickup locations, express payment buttons at the top of checkout, or editing in the Site Editor.
Stay on the shortcode checkout for now when:
- a business-critical extension has declared itself incompatible;
- your checkout relies on custom PHP hooks that would need rebuilding and you have no budget for it yet.
Either way, test on staging first. Checkout changes affect revenue directly, so measure conversion before and after. Our posts on improving WooCommerce checkout and A/B testing WooCommerce conversions can help.
How to switch in either direction
From shortcodes to blocks
- Edit your Cart page and Checkout page in the block editor.
- Select the classic shortcode block and use the prompt or Transform option to change it to the Cart or Checkout block.
- Switch both pages, since the Cart and Checkout blocks work together.
- Configure inner blocks, then run test orders.
From blocks back to shortcodes
- Open the Cart or Checkout page and select the block (List View helps).
- Click Transform in the block toolbar and choose Classic Shortcode.
- Do the same on the other page. WooCommerce advises reverting both together.
Common problems after switching
- A payment method is missing: the gateway plugin may not support blocks yet. Update it or check its compatibility.
- Custom fields disappeared: they were added with PHP hooks. Rebuild them with the Additional Checkout Fields API or a block-compatible plugin.
- Tracking or analytics stopped: scripts tied to classic checkout events may need updating; see our guide to tracking WooCommerce conversions in GA4.
- Styling looks off: adjust in Global Styles or the block settings rather than old checkout CSS selectors.
Conclusion
The block checkout is WooCommerce's default and where new checkout features land, while the shortcode checkout remains for stores that depend on older customizations. Base the decision on your extensions: confirm each one supports blocks, rebuild custom fields with the supported APIs, and test every payment and shipping path before you switch. More WooCommerce guides are in our WordPress hub. If your checkout needs custom fields or integrations rebuilt for blocks, eSEOspace provides WordPress plugin development.
Frequently asked questions
When did the block checkout become the default?
In WooCommerce 8.3, released 16 November 2023, for new installations. Existing stores kept their shortcode checkout.
Is the WooCommerce shortcode checkout deprecated?
No removal date has been announced in the sources we checked. WooCommerce said the shortcodes would remain available for stores with customized checkout flows, and its documentation still explains how to revert to them.
How do I add a custom field to the block checkout?
Use the Additional Checkout Fields API (stable since WooCommerce 8.9) or a checkout field plugin that states block checkout support. Hook-based field code from the classic checkout will not display in the block checkout.
Why does my extension not show in the new checkout?
It probably adds content through classic PHP hooks. Check its Compatibility section on WooCommerce.com or its changelog, and ask the developer about block checkout support.
Does the block checkout support local pickup?
Yes. It has built-in pickup locations, set up under WooCommerce > Settings > Shipping, and customers choose between Ship and Pickup at checkout.
Put this into action with eSEOspace
We help businesses grow with website design that actually performs. Explore the services behind this guide:
Get a FREE Audit
We'll perform a comprehensive SEO, AEO, GEO & CRO audit of your website — completely free — and show you exactly how to outrank your competitors.
Don't have a site yet? Get in touch →
Get a FREE GEO/AEO/SEO Audit
We'll analyze your site's SEO, GEO, AEO & CRO — completely free — and show you exactly how to get found across Google and AI answers.
Don't have a site yet? Get in touch →
Great — your audit is on the way!
We'll send your free SEO/GEO/AEO/CRO audit within the next few hours. Where should we send it?
You're all set! ✓
Your free audit is being prepared — check your inbox in the next few hours. Talk soon!
On this page
- Key Takeaways
- Block checkout vs shortcode checkout at a glance
- What the block checkout includes
- Extension compatibility: the main deciding factor
- Customizing the block checkout
- Payments and express checkout in the block checkout
- Should you switch an older store to blocks?
- How to switch in either direction
- Common problems after switching
- Conclusion
- Frequently asked questions





