Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The correct way to create a custom WooCommerce Cart page depends on what controls your store: a block theme, a classic theme, or a page builder. First identify that editing surface, then customize the Cart block or assigned Cart page, verify the Cart and Checkout assignments, and test the result with real cart contents. Do not assume a shortcode hook, CSS selector, or template change will work on a block-based cart.

Choose the correct editing surface

WooCommerce uses different editing paths depending on the active theme and whether a builder controls the page.

Store setup Where to edit What you are changing
Block theme Appearance > Editor > Templates > WooCommerce > Page: Cart The WooCommerce Cart template and its Cart block
Classic or non-block theme Pages > All Pages, then open the page assigned as Cart in WooCommerce settings The assigned page, shortcode output, or theme template
Page builder controls the cart The builder’s page or template editor The builder layout and its WooCommerce cart element

If the expected controls are missing, confirm the active theme and update WordPress and WooCommerce before switching editors. A builder can replace or hide the ordinary WordPress editing controls.

Customize a Cart block

The block-based cart combines products, quantities, totals, discounts, shipping information, checkout options, and product suggestions. It has separate Filled Cart and Empty Cart states, so edit each state rather than assuming one layout covers both situations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Edit the filled and empty states

  1. Open the Cart template or page in the appropriate editor.
  2. Open List View so you can see the Cart block’s hierarchy.
  3. Select Filled Cart to edit the shopping-cart experience and Empty Cart to edit the no-items experience.
  4. Change the sections that are unlocked. Dynamic areas may be locked because WooCommerce generates their content.
  5. Preview the page with products in the cart and with an empty cart, then save.

Adjust supported sections

  • Remove or rearrange the Cross-Sells section. In a new Cart block, cross-sells use the Product Collection block; the collection can use products in the cart or a selected product, with configurable ordering and layout.
  • Remove the Order Summary heading or coupon form when those elements do not fit your design.
  • Change the destination link in the Proceed to Checkout block.
  • Edit the empty-cart message and product suggestions in the Empty Cart state.

Enable Save for Later only when its requirements are met

Save for Later appears only when the feature is enabled at WooCommerce > Settings > Advanced > Features, the shopper is logged in, the page uses the block-based Cart, and the products are published. A classic shortcode cart does not display this area.

Verify Cart and Checkout page assignments

Putting a Cart block on a page does not by itself complete the WooCommerce setup. In WooCommerce > Settings > Advanced, verify the designated Cart and Checkout pages. WooCommerce permits only one designated Cart page at a time, and the Checkout page must be assigned for the Cart block’s flow to work properly.

After saving, test these paths as a shopper:

  • Add a product, change its quantity, and remove it.
  • Apply and remove a coupon.
  • Enter a shipping destination and confirm totals update.
  • Follow Proceed to Checkout and confirm it reaches the assigned Checkout page.
  • Repeat the test with an empty cart and, if enabled, with a logged-out shopper.

Decide between the block and classic Cart

Stores created after WooCommerce 8.3, released in November 2023, use Cart and Checkout blocks by default. The choice should be based on editor controls and extension compatibility, not only appearance.

Consideration Cart and Checkout blocks Classic shortcode route
Editing surface Site Editor, block settings, and separate filled/empty states Assigned page, shortcode output, and classic theme or template customization
Design controls Rearrange supported sections, Product Collection cross-sells, headings, coupon form, and checkout link Mostly controlled by shortcode output, theme styles, templates, and compatible extensions
Extension compatibility Requires block-compatible hooks or extension APIs Supports the classic hooks and filters that the extension expects
Save for Later Supported when its feature, login, publication, and block-cart requirements are satisfied Not displayed
Migration risk Do not rely on private block markup or classic-only hooks Changing only one page can create a mixed Cart/Checkout implementation

Convert a Cart block to the classic shortcode

  1. Open the page or template and select the Cart block in List View.
  2. Choose Transform in the block toolbar.
  3. Select Classic Shortcode.
  4. Save the page.

If you revert an established store, convert both Cart and Checkout rather than leaving one page block-based and the other shortcode-based.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use PHP, JavaScript, or hooks only for the implementation you actually have

Classic shortcode carts and Cart blocks do not expose the same extension points. A classic action or filter may have no effect on a block cart, even when the PHP is valid. Before adding code, identify the exact implementation and check whether the required hook is supported for it.

When a classic hook is the wrong tool

WooCommerce’s hook guidance identifies classic hooks that are unsupported in Cart and Checkout blocks, including some hooks used for subtotal or total display and shipping details. For block-specific changes, use supported editor controls, block extensibility mechanisms, or the documented Store API extension approach when the change affects API behavior or responses.

Rank #4
Sale
Latin Real Book: C Edition
  • Features Over 160 Latin Songs
  • Arranged for C Instruments
  • Standard Notation
  • 48 Pages

Extension checks before deployment

  • Confirm the extension explicitly supports Cart and Checkout blocks if your store uses them.
  • Check whether the extension requires a shortcode Cart and Checkout pair.
  • Test fees, shipping methods, payment methods, coupons, and totals after activation.
  • Keep a rollback path before changing production templates or payment-related code.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Style the page without coupling it to private markup

WooCommerce advises against writing CSS based on existing Cart block class names or descendant relationships. Block HTML internals are private and may change. Prefer global styles and the block’s supported settings, then add narrowly scoped CSS only where the markup is an intentionally supported contract.

  • Set typography, colors, spacing, and button treatments through the theme’s global styles where possible.
  • Do not target a deeply nested element merely because it appears in the current Cart block markup.
  • Retest after WooCommerce, WordPress, or theme updates.

Preserve page content in a block-theme template override

If a block theme overrides page-cart.html, keep the Cart block in the assigned page’s content and render that content through core/post-content. This keeps the page editor and storefront aligned and allows WooCommerce to detect the Cart block in the assigned page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot a Cart page that is missing or not working

The Site Editor has no WooCommerce Cart template

Check whether the active theme is actually a block theme. If it is classic, edit the assigned page instead. Also confirm WordPress and WooCommerce are current and that a builder has not taken control of the layout.

Changes in the WordPress editor do not appear on the storefront

The page builder or a template override may be rendering the cart instead. Edit the controlling builder template, or restore the assigned page content and ensure the template outputs it with core/post-content where required.

Proceed to Checkout does not reach checkout

Verify the Checkout page assignment in WooCommerce > Settings > Advanced, then test the link from a cart containing a product. Check that only one Cart page is designated.

A PHP customization has no effect

Determine whether the page uses Cart and Checkout blocks. If it does, the classic hook may be unsupported; use the relevant block extension or editor-based route instead.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The cart looks correct but breaks after an update

Replace selectors that depend on private block internals with global styles or supported block settings, and retest all filled, empty, logged-in, logged-out, shipping, coupon, and checkout states.

Quick Recap

Bestseller No. 2
SaleBestseller No. 4
Latin Real Book: C Edition
Latin Real Book: C Edition
Features Over 160 Latin Songs; Arranged for C Instruments; Standard Notation; 48 Pages
$38.99

A practical launch checklist

  • Identify the active theme and controlling editor.
  • Confirm the Cart and Checkout assignments.
  • Edit both Filled Cart and Empty Cart states when using blocks.
  • Verify cross-sells, coupons, shipping, totals, and checkout links.
  • Confirm extension compatibility with blocks or shortcodes.
  • Use global styles instead of private block selectors.
  • Test logged-in and logged-out shoppers, including Save for Later if enabled.
  • Recheck the page after theme, WordPress, and WooCommerce updates.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.