O Frete Grátis nativo do WooCommerce avalia os requisitos (valor mínimo, cupom) olhando o carrinho inteiro. Em marketplace, isso não bate — porque o que faz sentido é avaliar cada vendedor separadamente. O Frete para Marketplace reescreve essa lógica pra funcionar por pacote.
O problema sem o plugin
Imagine um carrinho com:
- Vendedor A: R$ 80
- Vendedor B: R$ 30
E uma regra de Frete Grátis acima de R$ 50.
Comportamento padrão do WooCommerce: olha o total (R$ 110), decide que todo mundo tem frete grátis. Resultado: o vendedor B (que entregaria R$ 30 em produtos) acaba com frete grátis sem ter atingido o mínimo dele.
Com o Frete para Marketplace: avalia cada pacote separadamente:
- Pacote A (R$ 80) → frete grátis ✅
- Pacote B (R$ 30) → frete normal (abaixo do mínimo)
Cada vendedor ganha (ou não) o frete grátis com base no próprio carrinho.
Os 4 modos de Frete Grátis suportados
A configuração nativa do WooCommerce permite 4 condições. O plugin respeita todas, avaliando por pacote:
| Modo | Avalia |
|---|---|
Valor mínimo (min_amount) |
Subtotal do pacote |
Cupom válido (coupon) |
Cupom aplicado a algum item do pacote |
Mínimo OU cupom (either) |
Qualquer um dos dois |
Mínimo E cupom (both) |
Os dois ao mesmo tempo |
Você configura isso em WooCommerce → Configurações → Entrega → Zona de envio → Frete Grátis, sem mudança em relação ao padrão do WooCommerce.
Cenários práticos
Cenário 1: regra de valor mínimo
Regra: frete grátis acima de R$ 100.
Carrinho:
- Vendedor A: R$ 150 → grátis ✅
- Vendedor B: R$ 60 → frete normal
Cenário 2: regra com cupom
Regra: frete grátis com cupom PROMO10.
Cupom aplica só ao produto X (vendedor A).
- Vendedor A (tem produto X) → grátis ✅
- Vendedor B (não tem) → frete normal
Cenário 3: regra "mínimo E cupom"
Regra: frete grátis com cupom PROMO10 e valor mínimo R$ 80.
Carrinho com cupom aplicado em todos os produtos:
- Vendedor A: R$ 100 → grátis ✅ (cupom + mínimo)
- Vendedor B: R$ 50 → frete normal (cupom sim, mínimo não)
Cupons que aplicam a produtos específicos
O plugin avalia o cupom contra os itens do pacote. Se o cupom está restrito a uma categoria de produtos e essa categoria não está no pacote do vendedor B, o vendedor B não ganha o frete grátis daquele cupom — mesmo que o cupom esteja aplicado no carrinho.
A flag applied_coupons é compartilhada entre os pacotes (é o mesmo carrinho), mas a elegibilidade do cupom pra cada pacote é avaliada item a item. Cupom restrito → vendedor sem o item daquela restrição não recebe.
Importante sobre Frete Grátis "global"
Se você quer que o Frete Grátis valha pra todos os vendedores assim que o carrinho total atinge um mínimo, o comportamento padrão do WooCommerce é o que você quer — e nesse caso o split do plugin pode parecer mais conservador. Mas em marketplace o normal é o oposto: cada vendedor decide se libera o frete grátis dele com base no próprio subtotal.
Se mesmo assim você quer customizar, o filtro woocommerce_shipping_free_shipping_is_available continua disponível — veja Filtros dos métodos de envio.