About this plugin
PizzaTier turns any WordPress page into an interactive build-your-own pizza experience. Customers pick a crust, sauce, cheese, toppings, drizzle and cut style while a layered pizza image updates in front of them in real time. When they are done, the finished pizza goes straight into a WooCommerce cart with a server-verified price, or into PizzaTier’s own built-in order queue for shops that do not sell online. Everything is included in this one plugin: the visual builder, eight ready-made templates, per-ingredient price grids, the WooCommerce “Pizza” product type and a live Pizza Orders dashboard built for running a kitchen during service. There is no separate paid add-on. Plugin site, docs and support: pizzatier.com Built and maintained by Island Sun Design in Hilo, Hawaiʻi. Who it is for PizzaTier is built for independent and small-chain pizzerias, food trucks and pop-ups, and the agencies and freelancers who build their websites. Site owners get a guided setup wizard and a plain-English admin; developers get hooks, a public PHP and JavaScript API and a Scaffold template to build from. The builder Live layered preview — each ingredient is a transparent PNG layer, stacked and updated as the customer makes selections, with no page reloads Six ingredient categories — crusts, sauces, cheeses, toppings, drizzles and cut styles, plus pizza sizes, each managed as a WordPress custom post type Coverage control — whole, half-and-half and quarter placement for toppings Rules — maximum toppings, required crust or sauce, hidden tabs, restricted ingredient sets and default selections, all set per shortcode Presets — save complete pizzas that customers can pick in one click, and show them anywhere with [pizzatier_preset] Embed anywhere — the [pizzatier_builder] shortcode or the Pizza Builder block; multiple builders can share a page Static pizza images — render a non-interactive layered pizza with [pizzatier_static] , or a single ingredient image with [pizzatier_layer] Eight templates Switch templates with one setting. Every template is themeable through CSS custom properties, so colours, spacing and typography can be matched to your theme without touching the template files. Colorbox — bright, playful builder with colourful category tiles and pill tabs. Great for family-friendly and fast-casual brands. Metro — clean, modern single-scroll layout with the pizza floating in a centred hero. Built for fast-casual and artisan brands. NightPie — dark UI with a sticky split-screen preview, tabbed sections, fly-to animation and a “Your Pizza” summary panel. Fornaia — warm, homestyle template with earthy tones, aged-paper texture, serif typography and vintage badge accents. Ideal for Neapolitan and wood-fired pizzerias. PocketPie — compact mobile-first builder with Corner Quad, Layer Deck, Slide Drawer and Stack Panel layout modes. Ideal for embedded storefronts and small spaces. Plainlist — text-first checklist with no visual canvas. Accessible, print-friendly, and available in single-scroll or step-by-step wizard modes. Command Center — dark navy UI with a numbered step wizard, persistent order-summary sidebar and a bold red accent. Built for chains that want a premium digital-ordering feel. Scaffold — a bare-bones developer starter with fully modular HTML partials and clean hooks. Duplicate any partial and build from there. Selling with WooCommerce A dedicated Pizza WooCommerce product type with its own configurator tab The builder embedded automatically on Pizza product pages, with a size selector and a live price bar Price grids by size and coverage, set per product, per ingredient or site-wide, with a bulk editor and CSV import/export Six pricing models — add-on per layer, flat per size, highest layer wins, tiered by topping count, free first N, and bundle Prices are recalculated and verified on the server when the pizza is added to the cart The full build is stored as order line-item meta and shown in the cart, on the order screen and in order emails Works with both classic post-based orders and High-Performance Order Storage (HPOS) orders Selling without WooCommerce PizzaTier ships its own lightweight ordering system, so a builder can take orders on a site with no cart and no payment step. It suits pay-on-collection, phone-order and delivery-on-account shops. Orders are recorded in WordPress with kitchen-oriented statuses — new, confirmed, preparing, ready, out for delivery and completed, plus cancelled, refunded and failed Order routing — send each order to the WooCommerce cart, the pizza order list, both, or straight out by email and webhook Customer notes visible to staff only Pizza Orders dashboard A top-level Pizza Orders menu with a live dashboard designed for service hours. Everything updates in place over AJAX; the page never reloads. Status count cards, with tap-to-filter An incoming-orders board with one-tap next-step buttons (Confirm → Start preparing → Mark ready → Complete). Orders waiting over 15 minutes turn amber; over 30, red. Today at a glance — orders, pizzas, revenue, average order and the pickup/delivery split Live polling with a pause toggle, an optional new-order chime and the open-order count mirrored into the browser tab title Search, filter, sort and bulk-update the full order list; a quick-view drawer with a printable kitchen ticket sized for receipt printers Admin suite Settings Wizard — guided first-run setup Layer Builder Wizard — step-by-step workflow for adding a new ingredient Layer Image Maker — generate and upload transparent layer images from inside the admin Content Hub — manage every ingredient post type from one screen Site Migration — export and import all PizzaTier settings and content between sites Admin dark mode for the PizzaTier screens GDPR tools — personal-data export and erasure integrated with the WordPress privacy tools; erasure anonymises orders while keeping the records a shop is legally required to retain Shortcodes [pizzatier_builder] — renders the full interactive builder. Attributes: id , template , max_toppings , show_tabs , hide_tabs , default_crust , default_sauce , default_cheese , pizza_shape , pizza_aspect , pizza_radius , layer_anim , layer_anim_speed , restrict [pizzatier_static] — renders a non-interactive layered pizza image. Attributes: crust , sauce , cheese , toppings , drizzle , cut , preset Example: [pizzatier_static crust="thin-crust" sauce="classic-tomato" cheese="mozzarella" toppings="pepperoni,mushrooms"] [pizzatier_layer] — renders a single ingredient layer image. Attributes: type , slug , size [pizzatier_layer_info] — renders text metadata about a layer (name, description, price). [pizzatier_preset] — renders a saved preset pizza. Attributes: id , template , title , size , align REST API The public REST API is disabled by default. Enable it under PizzaTier → Settings → Advanced . POST /wp-json/pizzatier/v1/render — render a pizza layer stack and return HTML GET /wp-json/pizzatier/v1/layer-url — retrieve the image URL for a given layer type and slug Both endpoints are read-only and rate-limited ( pizzatier_rest_rate_limit and pizzatier_rest_rate_window filters). For developers PizzaTier exposes a public PHP API for use in themes and other plugins: // Render a full pizza stack as HTML $html = PizzaTier\Builder\PizzaBuilder::render_pizza_stack([ 'crust' => 'thin-crust', 'sauce' => 'classic-tomato', 'cheese' => 'mozzarella', 'toppings' => ['pepperoni', 'mushrooms'], 'drizzle' => 'hot-honey', 'cut' => '8-slices', ]); // Get a layer image URL $url = PizzaTier\Builder\PizzaBuilder::get_layer_url( 'topping', 'pepperoni' ); A selection of the filters and actions available: pizzatier_template_dirs — register additional template directory paths pizzatier_query_args_{type} — modify the WP_Query args used to fetch a layer type, e.g. pizzatier_query_args_toppings pizzatier_builder_atts / pizzatier_static_atts — filter parsed shortcode attributes before render pizzatier_layer_html — filter the markup of a single layer image pizzatier_order_statuses , pizzatier_order_route , pizzatier_order_webhook_payload — customise the built-in ordering system pizzatier_orders_next_step_map — customise the one-tap workflow buttons on the orders dashboard pizzatier_before_builder / pizzatier_after_builder — fire around the builder canvas pizzatier_builder_action_bar — fires inside the builder action bar, where the Add to Cart and Order Now bars render pizzatier_order_created , pizzatier_order_status_changed — fire as orders move through the kitchen The full hook reference is at pizzatier.com . Custom templates Duplicate the Scaffold template folder, give it a unique function_prefix in pztp-template-info.php , and register it via the pizzatier_template_dirs filter. Scaffold includes detailed comments and modular HTML partials designed for exactly this. Privacy and external services PizzaTier does not contact any external service on its own. The only outbound requests it makes are the ones you configure: order-notification emails through your site’s mail setup, and an optional order webhook to a URL you supply under PizzaTier → Settings. The public REST API is off until you turn it on. Order records can be exported and erased through the standard WordPress privacy tools. Translations Translation-ready with a bundled .pot file. Spanish (es_ES) and German (de_DE) translations are included, and further languages can be contributed through translate.wordpress.org.