Drzwi Portal
A WooCommerce door shop needed its configurator to resolve into a real, correctly priced product in the cart, with over 350 handles filterable without a plugin.


What came in
A shop selling and fitting interior doors needed the configurator’s choices — model, colour, dimension, opening side, hardware — to resolve into an actual priced item in the cart. Selling a door on its own and selling it with fitting are two different businesses here, with a different price, order flow and scope of liability, and the catalogue had to hold that split throughout.
What I built
I tied the configurator to the shop catalogue so each combination resolves to a real product with the correct variant and price; door colours are a separate structure assigned to models, so a colour is described once and reused. A configured door can be corrected from inside the cart without removing it and starting over. On an order where a single centimetre means a different product, that protects against sending the wrong item. Installation runs as its own content type, matching that split, and it also changes which VAT rate applies.
What changed
Over 350 door handles are filtered by colour, rosette shape and product line entirely through the shop’s built-in mechanism, with no plugin and no background queries; the selection goes into the URL, so the back button works and a filtered link can be shared or used in an advert. Three plugins handling cookie consent and traffic measurement were replaced with code in the theme, because the configurator plugin alone was loading roughly 200KB of styles and scripts on every page, including pages without a configurator — its files now load only on the product card, cart and checkout.
Worth knowing
The shop is organised by model name, the way customers remember them from a showroom. It launched in spring 2024 and I am still on it; a second large round of work landed in 2026.
Have a design waiting for a developer?
Send the file and the date you have promised your client. You get a fixed price and a delivery date back before you quote.