WooCommerce: Deixar o método de entrega PAC dos Correios gratuito

Uma vez ou outra vejo pessoas fazendo entrega utilizando o PAC dos Correios sem cobrar nada e utilizando plugin WooCommerce Correios para calcular o frete para todos os métodos de pagamento.
Geralmente para fazer algo assim é simples, pois é possível desativar o método PAC do plugin e configurar o método de entrega gratuita do WooCommerce.

Entretanto o WooCommerce Correios tem um plus que é exibir uma data estimada de entrega, que não é possível fazer isso com o método de entrega gratuita nativo.

Fazer isso é extremamente simples, uma vez que o WooCommerce Correios possui o filtro woocommerce_correios_shipping_methods que é utilizando tanto no simulador de entrega na página do pedido como também na hora de pegar os valores e exibir no carrinho e na finalização.

Segue o código necessário para fazer isso:

De resto é só deixar a imaginação fluir, como por exemplo dar frete grátis pelo PAC apenas quando o pedido tem um valor mínimo de 100 reais:

Ou frete grátis apenas para uma área de entrega, no caso de ter uma área de entrega para determinados estados (por exemplo, apenas São Paulo e Rio de Janeiro):

Neste último exemplo observe que é passado o $instance_id que é o identificador da instancia do método de pagamento, é possível encontrar na URL ao editar o método escolhido, como por exemplo wp-admin/admin.php?page=wc-settings&tab=shipping&instance_id=99.

Nota:

  • Código atualizado em 29 de Dezembro de 2016.

5 comentários sobre “WooCommerce: Deixar o método de entrega PAC dos Correios gratuito

  1. Salve, Cláudio!
    Cara, vi que vc fez uma condição para o subtotal usando WC()->cart->subtotal
    E se eu quiser oferecer frete grátis para uma região, como SP, por exemplo? Tem como fazer isso via código ou só pela opção nativa do Woocommerce mesmo?

  2. Oi Claudio! Eu gostaria de colocar frete grátis para valor acima de 100 reais e para determinados estados, com a estimativa de tempo. Como faço isso?

    Ps.: Esse arquivo functions.php é aquele que está na pasta raiz do tema?

    Abraços!

    1. Como eu falei, são exemplos para dar ideias para vocês de como fazer, já tem exemplos mais do que suficiente para você conseguir fazer o que você quer.

      Ps.: Esse arquivo functions.php é aquele que está na pasta raiz do tema?

      Não.

Os comentários estão desativados.