Skip to content
neve

Save hours, not minutes – launch faster with 110+ patterns, powerful pro tools, and priority support when it counts!

See Pro Plans →

Neve Custom Layouts: Limitations with WooCommerce Product Blocks

Neve Custom Layouts use the WordPress block editor, but some WooCommerce-specific blocks — such as Otter Blocks' Product Images block — cannot be used inside a Custom Layout. This article explains why this happens, and which alternatives are available.

Why WooCommerce Product Blocks Don't Work in Custom Layouts

WooCommerce product blocks like Product Images are dynamic blocks. They rely on a specific product's ID being available in the current editing context to render a preview and function correctly.

When you edit a Custom Layout, the editor does not load inside an individual product page — it opens as a standalone template without a product context. Because no product ID is present, the block cannot initialize, and WordPress rejects it.

Standard blocks (paragraphs, images, headings, buttons) and Neve's own Magic Tags work fine in Custom Layouts because they do not require a product context.

📝 Note: This is a known technical limitation, not a bug. The block itself works correctly on live WooCommerce product pages — it simply cannot function in the Custom Layouts editor where no product context exists.

The best way to customize the layout of individual WooCommerce product pages — including product images, price, description, and add-to-cart areas — is to use the WooCommerce Builder feature included in Otter Blocks PRO.

💡 Tip: The Otter Blocks WooCommerce Builder is available with the Otter Blocks PRO plan. Make sure you have an active PRO license to have access to it.

Use Custom Layouts for Non-Product-Specific Content

If you want to display content across all WooCommerce product pages — such as a promotional banner, a notice, or a call-to-action that is not tied to a specific product's data — Neve Custom Layouts work well for this use case.

Use the Hooks layout type and target a WooCommerce hook (for example, woocommerce_before_single_product or woocommerce_after_single_product_summary) together with appropriate Conditional Logic to limit the layout to product pages. Static blocks and Magic Tags that do not require product context can be added freely.

For shop archive pages, Custom Layouts with the Inside Content or Hooks type are also fully supported.

📝 Note: For a full list of available Magic Tags and layout types, see Magic Tags in Custom Layouts and Custom Layouts Module Documentation.