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.
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.
[pizzatier_preset][pizzatier_builder] shortcode or the Pizza Builder block; multiple builders can share a page[pizzatier_static], or a single ingredient image with [pizzatier_layer]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.
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.
A top-level Pizza Orders menu with a live dashboard designed for service hours. Everything updates in place over AJAX; the page never reloads.
[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
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 HTMLGET /wp-json/pizzatier/v1/layer-url — retrieve the image URL for a given layer type and slugBoth endpoints are read-only and rate-limited (pizzatier_rest_rate_limit and pizzatier_rest_rate_window filters).
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 pathspizzatier_query_args_{type} — modify the WP_Query args used to fetch a layer type, e.g. pizzatier_query_args_toppingspizzatier_builder_atts / pizzatier_static_atts — filter parsed shortcode attributes before renderpizzatier_layer_html — filter the markup of a single layer imagepizzatier_order_statuses, pizzatier_order_route, pizzatier_order_webhook_payload — customise the built-in ordering systempizzatier_orders_next_step_map — customise the one-tap workflow buttons on the orders dashboardpizzatier_before_builder / pizzatier_after_builder — fire around the builder canvaspizzatier_builder_action_bar — fires inside the builder action bar, where the Add to Cart and Order Now bars renderpizzatier_order_created, pizzatier_order_status_changed — fire as orders move through the kitchenThe full hook reference is at pizzatier.com.
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.
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.
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.