Classes de envio são uma feature nativa do WooCommerce: você atribui produtos a categorias logísticas (ex: "Frágil", "Volumoso", "Refrigerado") e cria regras de frete específicas pra elas.
O Frete Offline integra com isso via dois campos: Classe de entrega e Validação da classe de entrega.
Classe de entrega
Define a qual classe esse método de envio se aplica.
- Tipo: select
- Opções:
- Any Shipping Class (padrão): vale pra qualquer classe.
- No Shipping Class: só pra produtos sem classe definida.
- Demais opções: cada classe cadastrada em WooCommerce → Configurações → Entrega → Classes de entrega.
Se nenhum produto do carrinho tem essa classe, o método não aparece no checkout.
Validação da classe de entrega
Define como o plugin trata o carrinho misto — quando alguns produtos têm a classe e outros não.
- Tipo: select
- Opções:
- Todos os produtos do carrinho precisam ter a classe de entrega: o método só aparece se 100% dos itens têm a classe selecionada.
- Pelo menos um produto precisa ter a classe de entrega: basta um item com a classe pro método aparecer.
A escolha depende da sua lógica de negócio. Exemplos abaixo.
Casos típicos
Frete específico pra refrigerados (modo "todos")
Você tem produtos refrigerados e produtos comuns. Frete refrigerado é mais caro. Quer que clientes não misturem — se misturar, o frete refrigerado some.
- Classe de entrega: Refrigerado
- Validação: Todos os produtos precisam ter a classe
Resultado: o método só aparece quando o carrinho inteiro é refrigerado.
Sobretaxa pra carga frágil (modo "pelo menos um")
Sua loja vende eletrônicos. Se tiver um item frágil no carrinho, você quer aplicar a tabela com cuidado especial — mesmo que outros produtos não sejam frágeis.
- Classe de entrega: Frágil
- Validação: Pelo menos um produto precisa ter a classe
Resultado: basta um item frágil pra esse método ser oferecido.
Múltiplas tabelas, uma por classe
Você quer tabelas distintas pra Refrigerado e Volumoso. Crie dois métodos na mesma área de entrega:
| Método | Classe | Validação |
|---|---|---|
| Frete Refrigerado | Refrigerado | Todos |
| Frete Volumoso | Volumoso | Pelo menos um |
Cada um com seu CSV.
A classe filtra dentro da área de entrega. Se o cliente está numa área que não tem nenhum método com a classe certa, ele não vê opção alguma. Faça o teste com diversos cenários antes de ativar.
Combinando com regras por linha
Algumas tabelas têm subdivisões (frete normal vs frete especial pelo CEP). A classe de entrega filtra antes da tabela ser lida — é uma camada acima do CSV.
Se quiser regras mais finas baseadas em meta de produto (não em classe), use o filtro wcts_custom_rules. Veja Snippets PHP.