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

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

69000001...69099999
57000001...57099999
69900001...69924999
68900001...68914999
40000001...42599999
60000001...61599999
70000001...72799999
73000001...73699999
29000001...29099999
74000001...74899999
65000001...65109999
30000001...31999999
79000001...79129999
78000001...78109999
66000001...66999999
58000001...58099999
50000001...52999999
64000001...64099999
80000001...82999999
20000001...23799999
59000001...59139999
76800001...76849999
69300001...69339999
90000001...91999999
88000001...88099999
49000001...49099999
01000001...05999999
08000000...08499999
77000001...77299999

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:

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!

hwpp