Skip to main content
PizzaLayerPro is in active feature development — WooCommerce ordering is coming soon. Learn More

FAQ

Frequently Asked
Questions

Everything you need to know about PizzaLayer — from first install to advanced developer usage.

Getting Started

PizzaLayer is a free WordPress plugin that lets you add an interactive pizza builder to any WordPress site. Customers can select crust, sauce, cheese, toppings, drizzle, and cut style — seeing a live layered visual as they build. It ships with six fully designed templates and a comprehensive admin system for managing all pizza components.

Yes — the PizzaLayer core plugin is completely free and released under GPL-2.0. It can be used on unlimited sites with no restrictions. PizzaLayerPro is a paid extension that adds WooCommerce integration, pricing, and cart submission. Both plugins are open source.

Download the plugin zip from the download page and install via Plugins → Add New → Upload Plugin in WordPress. After activation, a PizzaLayer menu appears in the admin sidebar. A setup guide walks you through adding your first ingredients and publishing a builder.

  • WordPress 5.8 or later
  • PHP 7.4 or later
  • WooCommerce 6.0+ (only required for PizzaLayerPro)

Templates

PizzaLayer includes six fully designed frontend templates: Colorbox, Metro, NightPie, Fornaia, PocketPie, and Scaffold. Each has its own visual style, layout, color system, and CSS. You can see all six on the live demo.

Yes. Each template follows a six-file architecture: pztp-template-info.php, pztp-containers-menu.php, pztp-containers-presentation.php, pztp-template-css.php, pztp-template-custom.php, plus template.css and custom.js.

Duplicate an existing template folder, rename all functions with a unique namespace prefix, and wrap them in function_exists() guards to prevent collisions. Layout lives in CSS, not PHP structure, making customization straightforward.

In the PizzaLayer admin, go to Settings and choose your default template from the dropdown. You can also override it per-embed using the shortcode attribute: [pizzalayer template="nightpie"]. Dark mode can also be toggled globally via the pizzalayer_setting_dark_mode setting.

Yes. All six templates include full dark mode support. You can enable dark mode globally from the PizzaLayer Settings screen, and the admin interface includes its own dark mode styling as well.

Embedding & Display

Two methods are available:

  • Gutenberg Block: Insert the PizzaLayer block from the block inserter — no code needed.
  • Shortcode: Use [pizzalayer] anywhere shortcodes are supported. Optional attributes include template, id, and size.

Yes. Each builder instance gets a unique ID. The JavaScript uses an instance factory pattern with scoped state objects, and a getActiveCanvas() method checks visibility to route rendering correctly to the right instance — so multiple builders coexist without conflict.

Yes. The shortcode works in any environment that supports WordPress shortcodes, including Elementor, Divi, Beaver Builder, and classic themes. The Gutenberg block works natively in the WordPress block editor.

WooCommerce & Pro

No — WooCommerce is not required for the free plugin. PizzaLayer works as a standalone visual builder for display purposes, menu presentations, or custom integrations.

WooCommerce is only required if you install PizzaLayerPro, which adds live pricing and cart submission.

PizzaLayerPro registers a custom WooCommerce "Pizza" product type. You configure base pricing and per-ingredient prices through the product configurator meta box inside WooCommerce. The frontend updates the running total live as the customer builds — price changes are calculated per layer in real time.

Each order item stores full pizza meta: crust, sauce, cheese, toppings, drizzle, and cut. These appear in the WooCommerce order admin view via a dedicated PizzaLayer order details panel, so staff can see exactly what was ordered at a glance.

Yes. PizzaLayerPro installs alongside your existing WooCommerce setup and adds a new "Pizza" product type without touching other product types or existing products.

Admin & Settings

The admin includes dedicated screens for every pizza component — toppings, crusts, sauces, cheeses, drizzles, and cuts — each with image upload, ordering controls, and visibility toggles. A Settings screen controls the default template, dark mode, and other global options. A Dashboard provides an at-a-glance overview with notices for any configuration issues.

Each ingredient uses WordPress menu order. In the admin list screens, drag items to reorder them or enter a numeric order value. The builder reflects the saved order instantly on the frontend.

Yes. PizzaLayer includes export functionality that generates a downloadable file of your configured ingredients and settings, useful for migrating between environments or creating backups.

Developer Questions

Yes. PizzaLayer exposes a REST endpoint at /wp-json/pizzalayer/v1/render that returns rendered pizza builder HTML. This is used internally for live previews and is available for headless integrations and external tooling.

Yes — PizzaLayer uses apply_filters() hooks at key extension points including ingredient data, rendered output, JS localization data, and settings bridging between the base plugin and Pro. Check the developer documentation for the full hook reference.

Templates use an instance factory pattern: NP.createInstance(instanceId) returns a scoped state object per embed. Instances are exposed globally via window[varName]. The PizzaStack rendering engine is shared between NightPie and Fornaia templates. PizzaLayerPro uses an IIFE pattern with 'use strict' and exposes a window.PizzaLayerProBuilder public API for external control.

Settings are stored individually using an OPTIONS constant map. Settings->register() is called directly (not inside add_action('init')) to ensure hooks fire at the correct time. Frontend CSS variables are injected via wp_add_inline_style and JS data via wp_localize_script. A global pztpro_get_setting() helper is available in Pro.

💬

Still Have Questions?

Browse the support center for detailed guides, or reach out directly — response times are typically same-day.