KB: ORION-KB-001 – Correção do botão “Add to Cart” em produtos variáveis

Sintoma Observado

O botão “Add to Cart” (Adicionar ao Carrinho) permanece desabilitado ou não responde em páginas de produtos variáveis, mesmo após a seleção de todos os atributos obrigatórios pelo usuário.

Ambiente

  • Plataforma: WordPress / WooCommerce
  • Ambiente: WFix Tools
  • Tipo de Produto: Variável

Hipóteses Descartadas

  • Estoque: Verificado que as variações possuem estoque positivo.
  • Preço: Confirmado que todas as variações possuem preços configurados.
  • Conflito de CSS: O botão não está oculto por regras de display: none ou opacity: 0.

Causa Raiz

Incompatibilidade entre o script de validação de variações do WooCommerce e um plugin de otimização de performance (JS Minification/Defer), que impedia o gatilho found_variation de disparar corretamente, mantendo o estado do formulário como incompleto.

Solução Aplicada

  1. Exclusão dos scripts add-to-cart-variation.min.js e woocommerce.min.js da minificação/adiamento.
  2. Limpeza total do cache de objetos e CDN.
  3. Ajuste no hook de prioridade do script de variações para garantir o carregamento após as dependências do jQuery.

Evidência Física

Logs do console do navegador não apresentam mais o erro Uncaught TypeError: Cannot read property 'found_variation' of undefined. O botão agora recebe a classe wc-variation-is-active instantaneamente após a seleção.

Procedimento de Validação

  1. Acessar um produto variável em modo anônimo.
  2. Selecionar todas as opções de atributos (ex: Cor, Tamanho).
  3. Verificar se o botão “Add to Cart” torna-se clicável e se o preço da variação é exibido.
  4. Adicionar ao carrinho e validar o redirecionamento/sucesso.

Observações para Futuras Atualizações

Ao atualizar o WooCommerce ou plugins de cache no ambiente WFix Tools, certificar-se de que as regras de exclusão de JS para produtos variáveis permaneçam ativas para evitar a regressão do bug.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima