O problema
O Crea il tuo caffè permite que os clientes criem seu próprio blend de café e o comprem torrado e embalado. Uma página de produto comum, com algumas variações, não dava conta disso. O preço depende da combinação de origens, da quantidade, da torra e da embalagem, e alguns compradores querem o próprio logo no pacote.
O que eu construí
Escrevi um plugin WordPress sob medida que transforma um produto do WooCommerce em um configurador de blends.
- Controles deslizantes por origem — 7 origens (Etiópia, Guatemala, Brasil, Uganda, Índia, Vietnã, Indonésia) ajustadas em passos de 10%. O carrinho recusa o blend se o total não for exatamente 100%.
- Blends sugeridos — o cliente pode partir de uma mistura recomendada e ajustá-la. Dicas na tela avaliam as características de cada origem de 1 a 5 grãos de café.
- Preço ao vivo — o preço é a soma ponderada do preço de cada origem, atualizada na tela enquanto o cliente move os controles.
- Preço por volume — 1, 50, 100 ou 250 kg. O preço por quilo cai com a quantidade: metade com 50 kg, 40% com 100 kg, um terço com 250 kg.
- Torra e embalagem — torra clara, média ou escura; pacote simples, pacote com o logo enviado pelo cliente ou uma proposta de design personalizado cobrada à parte.
- Escolhas salvas no pedido — origens, quantidade, torra, embalagem e logo aparecem no carrinho, no checkout e nos detalhes do pedido, para que o torrefador saiba exatamente o que produzir.
- Ponto de entrada na home — um bloco configurador na home, também disponível como elemento do WPBakery, leva as primeiras escolhas para a página do produto.
Com o que foi feito
WordPress, WooCommerce e o tema Larcorso com WPBakery; um plugin PHP sob medida com JavaScript puro e Swiper; WooPayments, Mailchimp for WordPress, Complianz para o consentimento de cookies e chat ao vivo tawk.to.
Por que foi feito assim
Blends, origens, avaliações de sabor e preços ficam nos atributos do produto no WooCommerce, e não no código. O cliente pode mudar um preço ou um blend sugerido na tela normal do produto, e o configurador passa a usar o novo valor.


