WooCommerce Envio por Peso – Fragmento de Código + Plugins
Publicados: 2022-09-15O WooCommerce é bastante flexível quando se trata de configurar zonas e classes de envio. Também permite configurar uma taxa fixa, frete grátis e retirada no local como tipos de taxa de frete.
Algumas lojas cobram uma taxa fixa de frete, outras variam seus custos de entrega com base na localização do cliente. No entanto, para produtos que variam consideravelmente em tamanho e peso, você não pode ter uma única taxa fixa para envio.
Você pode optar por uma solução ou adicionar algum código às zonas de envio para configurar o envio do WooCommerce por peso e outras regras de envio avançadas.
Porque não há nenhuma disposição com o WooCommerce padrão para configurar o envio baseado em peso.
Neste artigo, revelaremos o código que você pode usar para configurar o envio baseado em peso e também alguns plugins de envio WooCommerce para regras avançadas.
O que é o envio do WooCommerce por peso?
O envio baseado em peso permite definir taxas de acordo com o peso de um produto. Os clientes que compram itens pesados pagarão mais pelo frete do que aqueles que compram produtos menores.
Além disso, os clientes que compram itens a granel também esperam uma taxa nominal de envio. A cobrança de frete por quantidade de produto ou para produtos diferentes em um pedido também não é aconselhável.
Com o envio baseado em peso, você pode cobrar um preço justo para pedidos grandes e pequenos. Além disso, você pode evitar subcobrar ou sobrecarregar seus clientes com custos de envio.
Como configurar o envio do WooCommerce por peso sem um plug-in?
Antes de pular para o código, certifique-se de que esses requisitos sejam atendidos.
- Seus produtos devem ter um peso. Todos os seus produtos simples e/ou variações únicas devem ter um
weight > 0
. Em WooCommerce > Configurações > Produtos, certifique-se de selecionar a 'Unidade de peso' correta (o padrão é kg). - A primeira zona de frete é aplicada caso você tenha várias zonas de frete. Considere que você tem duas zonas de embarque, uma para a Austrália e outra para a Oceania. A zona de embarque para a Oceania será aplicada por estar na primeira posição. Para solicitar uma zona de envio para a Austrália, você precisa segurar o ícone do hambúrguer e arrastá-lo para cima da Oceania.
Envio por configuração de peso
Em nosso exemplo, teremos três níveis de envio baseados em peso:
- $ 10 para pedidos com menos de 3 kg
- $ 15 para pedidos com menos de 5 kg (mas mais de 3 kg)
- $ 20 para pedidos acima de 5 kg
Você pode definir níveis ilimitados e taxas fixas ilimitadas para cada zona de frete. Tudo depende de você.
Além disso, você pode renomear cada tarifa fixa para algo como 'Pedidos abaixo de 3 kg', 'Pedidos acima de 5 kg' etc. para tornar a etiqueta de checkout mais fácil de usar.
Configure métodos de envio para todos os três como estes:
- Taxa fixa nº 1 > renomeie para 'Pedidos abaixo de 3 kg' e atribua custo = $ 10
- Taxa fixa nº 2 > renomeie para 'Pedidos abaixo de 5 kg' e atribua custo = $ 15
- Taxa fixa nº 3 > renomeie para 'Pedidos acima de 5 kg' e atribua custo = $ 20
Se precisar de ajuda, consulte este blog sobre como configurar taxas e zonas de frete.
Envio por código de peso
Agora, com base no peso do carrinho, uma taxa fixa deve ser usada em vez de outra. Esta é a única maneira de mostrar a taxa fixa correta para o usuário final.
Antes de continuar, anote o ID exclusivo das três taxas fixas . Eles devem se parecer com ' flat_rate:9 '.
Em nosso exemplo, aqui estão os seguintes IDs de taxa:
- Taxa fixa #1 > taxa fixa:6
- Taxa fixa #2 > taxa fixa:7
- Taxa fixa #3 > taxa fixa:8
Precisaremos desarmar as taxas com base no peso total, portanto, no total, precisaremos de três condições: quando o peso estiver abaixo de 3 kg, abaixo de 5 kg e acima de 5 kg. Segue o trecho de código:
add_filter( 'woocommerce_package_rates', 'storeapps_woocommerce_tiered_shipping', 9999, 2 ); function storeapps_woocommerce_tiered_shipping( $taxas, $pacote) { if ( WC()->cart->get_cart_contents_weight() < 3 ) { if ( isset( $rates['flat_rate:7'] ) && isset( $rates['flat_rate:8'] ) ) unset( $rates['flat_rate:7'], $rates['flat_rate:8'] ) ; } elseif ( WC()->cart->get_cart_contents_weight() < 5 ) { if ( isset( $rates['flat_rate:6'] ) && isset( $rates['flat_rate:8'] ) ) unset( $rates['flat_rate:6'], $rates['flat_rate:8'] ) ; } senão { if ( isset( $rates['flat_rate:6'] ) && isset( $rates['flat_rate:7'] ) ) unset( $rates['flat_rate:6'], $rates['flat_rate:7'] ) ; } retornar $ taxas; }
Consulte este documento sobre como adicionar trechos de código com segurança.
Envio WooCommerce por peso com retirada no local
Em vez de um método de envio de taxa fixa, você pode adicionar a retirada no local, por exemplo. Então, você pode substituir o código acima por este:
add_filter( 'woocommerce_package_rates', 'storeapps_woocommerce_tiered_shipping', 9999, 2 ); function storeapps_woocommerce_tiered_shipping( $taxas, $pacote) { if ( WC()->cart->get_cart_contents_weight() < 3 ) { if ( ( isset( $rates['flat_rate:7'] ) && 'local_pickup' !== $rates['flat_rate:7']->get_method_id() ) && ( isset( $rates['flat_rate:8'] ) && 'local_pickup' !== $rates['flat_rate:8']->get_method_id() ) ) { unset( $rates['flat_rate:7'], $rates['flat_rate:8']); } } elseif ( WC()->cart->get_cart_contents_weight() < 5 ) { if ( ( isset( $rates['flat_rate:6'] ) && 'local_pickup' !== $rates['flat_rate:6']->get_method_id() ) && ( isset( $rates['flat_rate:8'] ) && 'local_pickup' !== $rates['flat_rate:8']->get_method_id() ) ) { unset( $rates['flat_rate:6'], $rates['flat_rate:8']); } } senão { if ( ( isset( $rates['flat_rate:6'] ) && 'local_pickup' !== $rates['flat_rate:6']->get_method_id() ) && ( isset( $rates['flat_rate:7'] ) && 'local_pickup' !== $rates['flat_rate:7']->get_method_id() ) ) { unset( $rates['flat_rate:6'], $rates['flat_rate:7']); } retornar $ taxas; }
Plugins de envio baseados em peso do WooCommerce
Se você não quiser ficar preso ao código, existem alguns plugins poderosos de envio por peso do WooCommerce.
Esses plugins permitem que você crie diferentes taxas e condições de envio para seus clientes com base no peso do produto. Vamos verificar alguns deles:
Envio baseado em peso WooCommerce
Este é um plugin de frete grátis no repositório do WordPress. Ele permite que você adicione várias regras com base em várias condições.
Você pode criar quantas regras de frete forem necessárias para diferentes destinos de pedidos, pesos e intervalos de subtotais e configurar um limite de frete grátis,
Você também pode definir os custos de envio por classe de envio específica individualmente.
A versão pro deste plugin custa $19 .
Obtenha o envio baseado em peso do WooCommerce
Taxa de Envio de Tabela
Este plugin oferece opções de envio altamente personalizáveis.
Você pode definir várias taxas de frete com base no peso, preço, localização ou contagem de itens.
Você também pode adicionar regras com base no peso e adicionar custos por unidade de peso. A interface intuitiva do plug-in facilita o gerenciamento de suas estratégias de envio pelos usuários.
Você pode comprar este plugin por US $ 99 no mercado WooCommerce.
Obter taxa de envio de tabela
Envio e pagamentos condicionais
Outra extensão de envio no WooCommerce que permite restringir as opções de envio, opções de pagamento e destinos de envio disponíveis para seus clientes.
Você pode restringir os métodos de envio e as taxas em tempo real com base no peso do pacote, na contagem de itens ou no total do carrinho.
Você também pode oferecer frete grátis com renovações de assinatura usando o plugin.
Este plugin é bastante popular e você pode comprá-lo por $ 79 .
Obtenha envio e pagamentos condicionais
Envio de caixa de taxa fixa
Este plugin permite definir custos para caixas para diferentes destinos. Você pode embalar itens em caixas com base no tamanho e volume do item e, em seguida, essa caixa usará os custos fixos que você definir por destino.
Você pode adicionar vários tamanhos de caixa por zona de envio, adicionar custos por caixa e por unidade de peso e também pode definir um custo para itens que não cabem na caixa.
Este plugin está disponível para compra no mercado WooCommerce por $ 49 .
Obter frete de caixa de taxa fixa
Gerenciando pedidos e produtos de um só lugar com base nos campos de envio
O plugin Smart Manager permite que você gerencie centenas e milhares de pedidos de um só lugar usando um editor de planilhas semelhante ao Excel.
Você pode visualizar e gerenciar todos os seus pedidos junto com os detalhes de envio, como método de envio, estado de envio, país de envio, imposto de envio do pedido e outros detalhes.
Quando você deseja localizar alguns pedidos com base em um método de envio como 'taxa fixa' entre milhares de pedidos, use a opção Pesquisa avançada. O Smart Manager buscará rapidamente resultados exatos para você.
Você também pode adicionar novos pedidos e pedidos personalizados diretamente ao editor de planilhas, definir o status do pedido e também definir o método de envio.
Outro benefício adicional é exportar pedidos com base nos métodos de envio e outros detalhes.
Agora, além dos pedidos, o Smart Manager também permite filtrar produtos por peso, adicionar peso a produtos em massa, definir e editar preços em massa para eles também.
Você também pode aplicar um filtro que liste todos os seus produtos com peso acima de X kgs e, em seguida, atualizar o campo de preço normal/preço de venda do produto e todas as alterações serão aplicadas instantaneamente.
Além disso, com o Smart Manager, você pode:
- Gerencie e edite em massa qualquer tipo de postagem - cupons, assinaturas, reservas, usuários, complementos de produtos, dropshipping, postagens de blog, páginas etc.
- Excluir registros permanentemente ou movê-los para a lixeira - produtos de teste, pedidos de teste, cupons de teste...
- Duplicar registros selecionados ou todos para um tipo de postagem específico
- Exporte para CSV todos os registros ou com base em filtros para qualquer tipo de postagem
- Configure visualizações personalizadas (conjuntos de colunas), forneça painéis de acesso restrito…
Experimente a demonstração ao vivo
Conclusão
Configurar o envio baseado em peso do WooCommerce é simples com alguns ajustes de codificação.
E uma maneira mais simples é obter um plugin da lista acima para economizar tempo e aborrecimentos. Todos eles são populares e valem o seu dinheiro.
Espero que você ache este post útil. Qualquer dúvida ou sugestão, escreva abaixo.