O problema
A UpGreens é uma loja de Nápoles que vende bicicletas elétricas, fat bikes e acessórios pelo WooCommerce. A loja estava no ar com pedidos reais, então nada podia quebrar. Mas havia problemas concretos: as páginas de produto mostravam os preços com IVA e o carrinho sem IVA, e o mesmo produto aparecia com dois preços diferentes. O carrinho estava metade em inglês, um aviso de PHP disparava a cada carregamento de página e a home parecia datada.
O que eu construí
Corrigi a loja e reconstruí seu front-end, com uma única pequena correção protegida dentro do tema.
- Preços coerentes — loja, carrinho e checkout agora mostram os preços com IVA, e o cliente vê um único preço da página do produto até o pagamento.
- Carrinho e checkout em italiano — um pequeno plugin must-use traduz as strings que restavam em inglês por meio de filtros do WordPress, e por isso sobrevive às atualizações do tema.
- Home com dados reais — hero, categorias, vitrine de produtos, vantagens, notícias e faixa da comunidade são gerados a partir do catálogo. O selo “até X% de desconto” é calculado com base nos descontos reais, e o valor mínimo para frete grátis (150 €) é lido das configurações da loja.
- Novo cabeçalho e rodapé — uma única barra branca com logo, menu, busca, conta e contador do carrinho, e um rodapé que lista apenas as formas de pagamento realmente disponíveis no checkout.
- Pagamento parcelado — Klarna e HeyLight, que permitem dividir o valor em até 12 parcelas sem juros.
- Faturamento italiano — campos de número de IVA e código fiscal no checkout, e faturas em PDF.
- Layouts testados — a grade de produtos mostra 4 por linha no desktop, 2 no tablet e 1 no celular.
Com o que foi feito
WordPress e WooCommerce com o tema Bikeway e WPBakery, gateways Klarna e HeyLight, frete por tabela e por carrinho, faturas em PDF e Wordfence. As partes novas são plugins must-use personalizados em PHP para a home, o cabeçalho, o rodapé, a grade de produtos e a tradução do carrinho. O catálogo tem 28 produtos publicados.
Por que foi feito assim
O tema não tem child theme, então qualquer edição nos seus arquivos se perderia na próxima atualização. Por isso coloquei cada alteração em plugins must-use separados. Cada um pode ser desativado apagando um único arquivo, e fiz um backup do banco de dados antes de cada alteração na loja no ar.


