skip to Main Content
(31) 98739-9637

Calcular frete woocommerce de acordo com valor da compra – Frete grátis

Fonte: https://hospedagemwordpresspro.com.br/calcular-frete-woocommerce-de-acordo-com-valor-da-compra-frete-gratis/

Conteúdo copiado.

Calcular frete woocommerce de acordo com valor da compra – Frete grátis

Muitos lojistas gostam de ter opções de promoção para o final de ano, mas os itens de frete grátis dentro do Woocommerce são restritos.

Não dá para oferece um determinado valor para determinada cidade com frete gratuito, mas vamos resolver este problema. Vamos dar de presente para o cliente Frete Grátis via PAC dos correios no valor igual ou superior a R$ 300,00 de compra, para pessoas que moram em Capitais.

Primeiro temos que cadastrar uma nova área de entrega dos produtos. Acesse o painel do WP em WooCommerce clique em Configurações. Na página que abre busque nas abas Entrega.

Clique no botão Adicionar área de Entrega

Digite um nome da área para esta nova zona geográfica, selecione Brasil e clique em Limitar para CEPs específicos. Coloque todas as faixas de CEPs das capitais dentro do box que se abre.

Você precisa cadastrar todos os CEPs das capitais. Eu acabei fazendo isso e vou disponibilizar as faixas de CEPs de cada Capital (total do município) aqui, lembrando que coloquei por ordem dos estados: AC, AL, AM , AP , BA , CE , DF 2 linhas, ES , GO , MA , MG , MS , MT , PA , PB , PE , PI , PR , RJ , RN , RO , RR , RS , SC , SE , SP 2 linhas, TO. Veja mais detalhes na página dos correios: http://www.buscacep.correios.com.br/sistemas/buscacep/buscaFaixaCep.cfm

  1. 6900000169099999
  2. 5700000157099999
  3. 6990000169924999
  4. 6890000168914999
  5. 4000000142599999
  6. 6000000161599999
  7. 7000000172799999
  8. 7300000173699999
  9. 2900000129099999
  10. 7400000174899999
  11. 6500000165109999
  12. 3000000131999999
  13. 7900000179129999
  14. 7800000178109999
  15. 6600000166999999
  16. 5800000158099999
  17. 5000000152999999
  18. 6400000164099999
  19. 8000000182999999
  20. 2000000123799999
  21. 5900000159139999
  22. 7680000176849999
  23. 6930000169339999
  24. 9000000191999999
  25. 8800000188099999
  26. 4900000149099999
  27. 0100000105999999
  28. 0800000008499999
  29. 7700000177299999

Feito o cadastro, clique no botão Adicionar método de entrega, e escolha as opções que aparecem. No nosso caso a loja usa PAC, SEDEX e Retirar no Local.

Agora vamos fazer com que o PAC tenha frete grátis para as capitais, mas antes devemos identificar o ID da instância do método de pagamento. Abra o método de pagamento PAC que foi cadastrado a pouco. Verifique no endereço da página qual o numero final da instância. Geralmente a URL é desta forma:

  1. wp-admin/admin.php?page=wc-settings&tab=shipping&instance_id=6

O numero 6 indica que a instância do método de pagamento cadastrado é do PAC. Verifique a sua.

Volte para o início da Área de Entrega e verifique se a Zona cadastrada está em cima de Brasil.

Se caso não estiver, arraste para cima. Para fazer esta operação passe o mouse nos 3 risquinhos na lateral esquerda do item, o ponteiro do mouse muda o formato, assim você consegue arrastar o item para cima e para baixo.

Isso é necessário, pois a primeira verificação deve identificar as capitais e depois o resto das cidades do Brasil. (Se caso não tenha cadastrado o Item Brasil, cadastre e selecione apenas Brasil na “Regiões da área” e os métodos de pagamentos)

Agora vamos colocar o código para fazer uma verificação e mostrar o Frete Grátis. Abra o functions.php de seu tema para podermos incluir um trecho de código.

/**************************************************************************************
FRETE GRÁTIS VIA PAC ACIMA DE R$300,00 PARA CAPITAIS APENAS
hospedagemwordpresspro.com.br
**************************************************************************************/ 

function custom_woocommerce_correios_shipping_methods( $rate, $instance_id ) {
    
    // Altere aqui o numero da instância cadastrada.
    if ( 6 == $instance_id ) {
        // Verifica se o total é maior ou igual a 300 reais.
        if ( isset( WC()->cart->subtotal ) && 300 <= WC()->cart->subtotal ) {
            $rate['cost'] = 0;
        }
    }
    
    return $rate;
}
add_filter( 'woocommerce_correios_correios-pac_rate', 'custom_woocommerce_correios_shipping_methods', 10, 2 );

Se caso sua instância for outro número, no código, altere o numero 6 para o numero do seu cadastro.

No nosso exemplo, ele verifica o total do carrinho de compras, se é igual ou maior que 300 reais. Caso você queira um valor diferente, altere o valor 300 para o numero que você gostaria de dar o frete grátis.

Feito isso teste seu carrinho de compras colocando CEPs de Capitais e outras cidades e modifique os valores de compra, para identificar se esta funcionando tudo corretamente.

Espero que este tutorial tenha ajudado a resolver este problema, e boas vendas!

Back To Top