Skip to content

Releases: IslandSunDesign/PizzaLayer

Release list

v1.1

Choose a tag to compare

@IslandSunDesign IslandSunDesign released this 01 Apr 01:53
1.1.0 - Gutenberg Improvements, New Layer Builder Wizard

PizzaLayer 1.1.0

Admin Bar
Fixed: five admin toolbar submenu icons were rendering as blank squares due to invalid Dashicon slugs (dashicons-carrot, dashicons-food, dashicons-category, dashicons-editor-table, dashicons-image-rotate). Replaced with valid core Dashicons throughout.
Fixed: the main PizzaLayer sidebar menu icon contained a malformed SVG path with a stray / character. Replaced with a clean pizza silhouette (circle, slice cut-out, two topping dots) that renders correctly at the 20px sidebar size.

Gutenberg — Pizza Builder Block
Fixed: the block editor preview was always blank. ServerSideRender calls render_builder() via the WordPress block renderer REST endpoint, which attempted to include template PHP files that depend on frontend globals not available in the REST context — producing silent empty output. The render callback now detects the REST/editor context and returns a static branded preview instead.
New: the in-editor preview is a dark-themed card showing the PizzaLayer logo, a live configuration table (Template, Max Toppings, Shape, Visible Tabs), a tab pill row that updates to reflect the current hide_tabs attribute, and a settings hint footer. All values update in real time as sidebar controls are adjusted.
Improved: loading state now shows a branded dark spinner banner rather than a plain WordPress spinner. Empty and error placeholders updated with a PizzaLayer SVG icon and clearer instruction text.

Gutenberg — CPT Edit Screens
New: each PizzaLayer Custom Post Type (Toppings, Crusts, Sauces, Cheeses, Drizzles, Cuts, Sizes, Presets) now registers a Gutenberg block template. Opening a new post for any layer type starts with an instructional placeholder paragraph specific to that type, rather than a completely blank editor.
New: a branded banner is injected above the post title whenever a PizzaLayer CPT post is opened in the block editor. It displays the layer type emoji, a type-specific accent colour, a "PizzaLayer — [Type]" heading, and a contextual hint. Inserted via enqueue_block_editor_assets with a DOM-ready script.

New Feature — Layer Builder Wizard
New: added a "✦ Layer Builder" page under the PizzaLayer Tools menu. A fully guided four-step wizard for creating any layer type from within the admin — no navigating to separate CPT screens required.
Step 1 — Visual type picker grid with all seven layer types, each showing an emoji, accent colour, and a short description. A type must be selected before proceeding.
Step 2 — Details form. Fields common to all types: Name (required), Slug (auto-generated from name, editable), Description, Price Modifier, Sort Order. Dynamic extra fields appear per type: Calories for Toppings; Thickness for Crusts; Diameter in inches for Sizes; Spice Level for Sauces and Drizzles; dietary flag checkboxes (Vegetarian, Vegan, Gluten-Free, Dairy-Free) shown where applicable.
Step 3 — Image picker using the WordPress Media Library. Supports choosing an existing image or uploading a new one. A shortcut link opens the Layer Image Maker in a new tab. This step can be skipped and the image added later.
Step 4 — Review card summarising all entered values with an inline image preview. Saving creates the CPT post via AJAX, stores all meta fields, sets the featured image, and returns a copy-ready [pizza_layer] shortcode.
Post-save success panel shows the generated shortcode with a one-click copy button, direct links to Edit the layer and view All layers of that type, and a "Build Another Layer" button that resets the wizard to Step 1.
Security: AJAX handler registered in Plugin.php, nonce-protected via the pizzalayer_wizard_save action, and CPT slug validated against an internal allowlist before any post is created.

Files changed: src/Admin/AdminBar.php, src/Admin/AdminMenu.php, src/Admin/LayerBuilderWizard.php (new), src/Blocks/BlockRegistrar.php, src/Plugin.php, blocks/pizza-builder/block.js, pizzalayer.php, readme.txt