WooCommerce is moving stores from the old shortcode-based cart and checkout to the new Cart and Checkout blocks. They’re faster and more modern — but they also break a lot of older extensions, gift wrapping included. Here’s what the block checkout means for offering gift wrapping, what still works, and how to set it up the right way.
What is the WooCommerce block checkout?
The Cart and Checkout blocks are the newer, Gutenberg-based versions of your store’s cart and checkout pages. Instead of rendering with the classic [woocommerce_cart] and [woocommerce_checkout] shortcodes, they’re built from blocks and talk to WooCommerce through the Store API.
They load faster, update totals without full page reloads, and are now the default for new WooCommerce installs. If your Cart or Checkout page shows a “Cart block” or “Checkout block” in the editor — rather than a single shortcode — you’re on the block checkout.
Why gift wrapping breaks on the block checkout
Many gift-wrapping plugins were built for the classic checkout. They add their wrap option using PHP hooks and template overrides that simply don’t exist in the block version. When a store switches to blocks, those plugins either show nothing at all or throw the customer back to a slower, classic-style page.
There are two specific reasons older gift-wrapping tools fall over:
- No classic hooks. The blocks render on the front end with JavaScript and the Store API, so server-side cart hooks the plugin relied on never fire.
- No per-line-item slot. The classic cart has a spot under each product row where a “wrap this item” button can go. The Cart block has no such slot, so a per-item button has nowhere to live.
How gift wrapping should work on the block checkout
A block-ready gift-wrapping plugin integrates through the Store API instead of classic hooks. Gift Wrapping for WooCommerce – Cart & Checkout does exactly this: it renders an order-level gift-wrap option directly inside the block cart and checkout summary, with the fee and totals updating live — no page reload, no fallback to the classic page.
The customer ticks the option (or chooses a wrap design), optionally adds a gift message, and the fee is added to the order through the Store API. Because the choice is saved as proper order meta, it still shows up on the order screen, in emails, and on your PDF packing slips — the same as on the classic checkout.
The one limitation to know: per-item wrapping
Because the Cart block has no per-line-item slot, the per-item wrap button (a “Gift wrap this item” button under each product) is a classic-cart feature. On the block checkout you’ll use per-order mode instead — a single gift-wrap option for the whole order.
For most stores that’s perfectly fine, and often better: one clear choice converts more reliably than a button on every line. If you specifically need per-item wrapping, you have two options:
- Use per-order mode on the block checkout (recommended — works everywhere).
- Switch your Cart and Checkout pages back to the classic
[woocommerce_cart]and[woocommerce_checkout]shortcodes, where the per-item button is available.
Block vs classic checkout: gift wrapping at a glance
| Feature | Block checkout | Classic checkout |
|---|---|---|
| Per-order wrap option | Yes | Yes |
| Per-item wrap button | No* | Yes |
| Gift message | Yes | Yes |
| Multiple wrap designs | Yes | Yes |
| Live fee / total updates | Yes | Yes |
| Saved to order, emails & PDF | Yes | Yes |
*Per-item wrapping needs the classic cart’s per-line-item slot, which the Cart block doesn’t have. Use per-order mode on the block checkout.
How to check which checkout your store uses
- Open Pages in your WordPress admin and edit your Cart page.
- If you see a Cart block in the editor, you’re on the block checkout. If you see a single
[woocommerce_cart]shortcode, you’re on the classic one. - Repeat for the Checkout page (Checkout block vs
[woocommerce_checkout]).
Setting up gift wrapping on the block checkout
- Install and activate Gift Wrapping for WooCommerce – Cart & Checkout.
- Go to WooCommerce → Settings → Gift Wrapping.
- Set Wrapping mode to Per order.
- Set your flat fee (or add multiple wrap designs), and optionally enable the gift message.
- Choose where the option appears — cart, checkout, or both — and save.
Add a product to the cart and you’ll see the gift-wrap option render right inside the block summary, with the fee updating instantly.
Gift wrapping that works on the block checkout
Gift Wrapping for WooCommerce – Cart & Checkout integrates natively with the Cart and Checkout blocks via the Store API — and still supports the classic cart. One plugin, both checkouts.
Get the pluginFrequently asked questions
Does gift wrapping work with the WooCommerce Cart and Checkout blocks?
Yes — as long as the plugin integrates with the Store API. Gift Wrapping for WooCommerce – Cart & Checkout renders an order-level gift-wrap option directly in the block cart and checkout, with live fee and total updates and no page reload.
Why doesn’t the per-item wrap button show on my block cart?
The Cart block has no per-line-item slot, so a per-item button has nowhere to render. Use per-order mode on the block checkout, or switch your Cart and Checkout pages to the classic shortcodes if you specifically need per-item wrapping.
Will the gift-wrap status still appear on orders, emails, and packing slips?
Yes. The choice is saved as order meta the same way on both checkouts, so it shows on the order screen, in WooCommerce emails, and on your PDF packing slips.
How do I know if I’m using the block or classic checkout?
Edit your Cart and Checkout pages in WordPress. A “Cart block” or “Checkout block” in the editor means you’re on the block checkout; a single [woocommerce_cart] or [woocommerce_checkout] shortcode means classic.
