All projects
WordPress Plugin·tudorcraft.eu

Door Configurator

WooCommerce plugin for interactive door configuration with live price calculation

A WordPress plugin built for a joinery company that allows customers to configure a custom wooden door directly on the WooCommerce product page. The client chooses the door type, wood species (interior/exterior), color, dimensions, and hardware, sees a live preview and the price updating in real time, then adds the configured door directly to cart. Built with the same hybrid architecture as the window configurator: PHP WordPress plugin + Next.js calculator as static export in an iframe.

WordPressWooCommercePHPNext.js 16TypeScriptTailwind CSS v4Framer MotionReact 19
https://tudorcraft.eu/configureaza-usa/?product=eyJwcm9kdWN0SWQiOjM2MjksInByb2R1Y3ROYW1lIjoiVVx1MDIxOVx1MDEwMyBleHRlcmlvciBDRVJWSU5PIGRpbiBsZW1uIHN0cmF0aWZpY2F0IFx1MDIxOWkgbWFzaXYiLCJ3b29kT3B0aW9ucyI6W3siaWQiOiJ0Y3Vfd29vZC0zNjI5LTAiLCJsYWJlbCI6IlBpbiIsImRvb3JUeXBlIjoiaW50ZXJpb3IiLCJiYXNlUHJpY2VQZXJNMiI6MTY1MCwicHJpY2VQZXJNbCI6NzUsImNvbG9yVmFsdWUiOiIjOGI2OTE0IiwiZXNzZW50YSI6Im1vYWxlIn0seyJpZCI6InRjdV93b29kLTM2MjktMSIsImxhYmVsIjoiVGVpIiwiZG9vclR5cGUiOiJpbnRlcmlvciIsImJhc2VQcmljZVBlck0yIjoxNjUwLCJwcmljZVBlck1sIjo3NSwiY29sb3JWYWx1ZSI6IiM4YjY5MTQiLCJlc3NlbnRhIjoibW9hbGUifSx7ImlkIjoidGN1X3dvb2QtMzYyOS0yIiwibGFiZWwiOiJTdGVqYXIiLCJkb29yVHlwZSI6ImV4dGVyaW9yIiwiYmFzZVByaWNlUGVyTTIiOjMxMDAsInByaWNlUGVyTWwiOjc1LCJjb2xvclZhbHVlIjoiIzhiNjkxNCIsImVzc2VudGEiOiJ0YXJlIn0seyJpZCI6InRjdV93b29kLTM2MjktMyIsImxhYmVsIjoiTnVjIiwiZG9vclR5cGUiOiJleHRlcmlvciIsImJhc2VQcmljZVBlck0yIjozMTAwLCJwcmljZVBlck1sIjo3NSwiY29sb3JWYWx1ZSI6IiM4YjY5MTQiLCJlc3NlbnRhIjoidGFyZSJ9LHsiaWQiOiJ0Y3Vfd29vZC0zNjI5LTQiLCJsYWJlbCI6IlBpbiBBbGJhc3RydSIsImRvb3JUeXBlIjoiZXh0ZXJpb3IiLCJiYXNlUHJpY2VQZXJNMiI6MjUwMCwicHJpY2VQZXJNbCI6NzUsImNvbG9yVmFsdWUiOiIjOGI2OTE0IiwiZXNzZW50YSI6Im1vYWxlIn1dLCJoYXJkd2FyZU9wdGlvbnMiOlt7ImlkIjoibWFuZXJlLXN0YW5kYXJkLWludCIsImxhYmVsIjoiTVx1MDBlMm5lciBzdGFuZGFyZCIsImRvb3JUeXBlIjoiaW50ZXJpb3IiLCJwcmljZU1vZGlmaWVyIjowfSx7ImlkIjoibWFuZXJlLXN0YW5kYXJkLWV4dCIsImxhYmVsIjoiTVx1MDBlMm5lciBzdGFuZGFyZCIsImRvb3JUeXBlIjoiZXh0ZXJpb3IiLCJwcmljZU1vZGlmaWVyIjowfSx7ImlkIjoibWFuZXJlLXByZW1pdW0tZXh0IiwibGFiZWwiOiJNXHUwMGUybmVyIHByZW1pdW0iLCJkb29yVHlwZSI6ImV4dGVyaW9yIiwicHJpY2VNb2RpZmllciI6MTUwfV0sImNvbG9yT3B0aW9ucyI6W3siaWQiOiJjdWxvYXJlLW5hdHVyYWwiLCJsYWJlbCI6Ik5hdHVyYWwiLCJwcmljZU1vZGlmaWVyIjowLCJjb2xvclZhbHVlIjoiI0M4QTk2RSJ9LHsiaWQiOiJjdWxvYXJlLW51YyIsImxhYmVsIjoiTnVjIiwicHJpY2VNb2RpZmllciI6NjAsImNvbG9yVmFsdWUiOiIjNEEzNzI4In0seyJpZCI6ImN1bG9hcmUtYWxiIiwibGFiZWwiOiJBbGIgUkFMIDkwMTYiLCJwcmljZU1vZGlmaWVyIjo4MCwiY29sb3JWYWx1ZSI6IiNGMkYwRUIifV19
Configurator Uși

What you can do

Custom Door Configuration

The client configures the door step by step: door type, wood species (soft/hard, interior/exterior), finish color, custom width and height, and hardware type.

Live Preview

The door is rendered live based on the chosen wood, color, and dimensions, giving the client an accurate visual representation of the final product before adding to cart.

Real-Time Price Calculation

Price is calculated based on the wood species (price/m² × area + price/ml × perimeter), color modifier, and hardware price per unit — all updating instantly as options change.

Wood, Color & Hardware Options

All options are configurable per product from WooCommerce admin: wood species with door type (interior/exterior), price/m² and price/ml; colors with hex values; hardware with per-unit pricing.

WooCommerce Integration

A "Configure door" button appears on the product page. After configuration, the product is added to cart via AJAX with the complete specification and calculated price, visible in cart, checkout, admin, and order emails.

iframe + postMessage Architecture

The Next.js calculator runs as a static export inside an iframe. Product data is sent to it via a base64-encoded URL parameter; the final configuration and price return via postMessage to the WordPress plugin.

WordPress Admin Panel

Each WooCommerce product has a dedicated "Door Configurator" tab where the administrator sets wood options with type, pricing, and color; general color options; and hardware with per-unit pricing.

Fullscreen Configurator Page

Clicking the button on the product page opens a dedicated fullscreen WordPress page that renders the iframe configurator, providing a focused, distraction-free configuration experience.

More features

Hybrid Stack: Next.js + PHPThe calculator is a Next.js 16 app (App Router, static export) with React 19, Tailwind CSS v4, and Framer Motion. The WordPress plugin is pure PHP with no external dependencies.

Product Data via Base64 URLProduct options (wood types, colors, hardware) are serialized to JSON, encoded in base64, and passed to the calculator via the ?product= URL parameter. No backend API needed.

Pricing by Door TypeEach wood species can be independently configured for interior or exterior doors with separate price/m² and price/ml values, reflecting the actual cost difference between door types.