Support » Plugin: Claudio Sanches - Correios for WooCommerce » Frete Grátis com prazo de Entrega

  • Resolved dsnilo

    (@dsnilo)


    Por gentileza,

    Nas versões anteriores estava funcionando normalmente o PAC com custo Frete Grátis
    Isso é importante para que o cliente saiba o tempo de entrega mesmo para Frete Grátis.
    Porém com essa nova versão perdeu a validade com o codigo colocado no functions.php
    Alguém poderia me ajudar a voltar o PAC como Frete Grátis

    Grato antecipadamente

    https://wordpress.org/plugins/woocommerce-correios/

Viewing 10 replies - 1 through 10 (of 10 total)
  • Danilo, tive esta necessidade hoje eu resolvi isto usando um filtro. Você pode adicionar um ao functions.php do seu tema, tema filho ou plugin específico do site (site specific plugin).

    function seuprefixo_pac_gratis($arr, $instance_id){
        $arr['cost'] = 000;
    
        // você pode filtrar por instance_id. Por exemplo, para deixar grátis apenas em certas áreas
        // você encontra este parâmetro na página de configuração do método (e.g. wp-admin/admin.php?page=wc-settings&tab=shipping&instance_id=5)
        // if ( === $instance_id ) {
        // $arr['cost'] = 000;
        // }
    
        return $arr;
    }
    add_filter( 'woocommerce_correios_correios-pac_rate', 'seuprefixo_pac_gratis');

    Para filtrar outros métodos de envio do Woocommerce Correios, troque ‘correios-pac’ no nome do filtro pelo id do método. (e.g. ‘correios-carta-registrada’, ‘correios-sedex-hoje’, ‘correios-sedex’, ‘correios-sedex-10-envelope’ ).

    Exemplo:

    function seuprefixo_sedex_hoje_gratis($arr, $instance_id){
        $arr['cost'] = 000;
        return $arr;
    }
    add_filter( 'woocommerce_correios_correios-sedex-hoje_rate', 'seuprefixo_sedex_hoje_gratis');

    (gist em https://gist.github.com/2aces/8ca21452faa690f3f0a289ef9b18ae47 )

    @celsobessa desde a atualização que incluiu Shipping Zones no WooCommerce eu procuro uma solução como essa. Mas entendo quase nada de php.
    Eu tenho 1 PAC grátis para a região sul e sudeste em compras acima de R$ 150,00 e outro para o restante do país para compras acima de R$ 250,00.
    É possível usar seu código com essa separação?

    Muito obrigado por compartilhar!

    @ricardods em tese, sim. Mas o código de exemplo que mostrei se refere apenas ao modo e região. Para ter o valor, precisaria modificar e pegar outras informações e não estou seguro de que as que coloquei no código abaixo sejam as corretas ou da forma mais eficiente. No momento estou correndo com outras coisas e não posso testar a fundo.

    Sugiro aguardar uns dias para ver se o autor do plugin consegue arranjar tempo para responder e validar a idéia. (lembre-se, os autores de plugins geralmente tem outras responsabilidade e nem sempre podem visitar o site de suporte)

    Suponho que você já tenha configurado 2 zonas –Zona de Entrega Região SUL e Sudeste e Restante do País –, correto? Se você clicar em PAC em cada uma das regiões, verá que a url tem um parâmetro chamado instance_id, e este parâmetro é diferente para cada uma das regiões. vamo supor instance_id=2 para Região Sul/Sudeste e instance_id=3 para restante do país.

    function seuprefixo_pac_gratis($arr, $instance_id){
    global $woocommerce;
    $cart_subtotal = WC()->cart->cart_contents_total;
    if ( 2 === $instance_id && $cart_subtotal >= 150.00 ) {
    $arr[‘cost’] = 000;
    } elseif ( 3 === $instance_id && $cart_subtotal >= 250.00) {
    $arr[‘cost’] = 000;
    }
    return $arr;
    }
    add_filter( ‘woocommerce_correios_correios-pac_rate’, ‘seuprefixo_pac_gratis’);
    `

    Basicamente, o código diz SE instance_id igual 2 e o total dos ítens no carrinho for acima de 150, o custo é 000. Se não for, verifica se a instance_id é 3 e o total dos ítens no carrinho for acima de 250 e aplica custo 000 também. Usei 3 algarismos para 0,00 pois o plugin normaliza os preços, removendo vírgulas e pontos.

    Importante: não testei o código, se você for usar, faça primeiro em um site de teste/desenvolvimento.

    Celso, muito obrigado pela ajuda! Fiquei essas 3 horas tentando fazer funcionar o código aqui mas não consegui. Tentei incluir umas linhas desse código (https://claudiosmweb.com/woocommerce/woocommerce-deixar-o-metodo-de-entrega-pac-dos-correios-gratuito/) mas também não deu.

    É incrível o número de clientes que ligam/ chamam no chat pra perguntar o prazo do PAC grátis, sendo que embaixo dele tem o prazo do PAC pago. Esse é o problema 1.

    O 2 é o número de clientes que ligam/ chat pra saber quando vai chegar a caixa, dias depois de enviado, porque no pedido só consta PAC grátis.

    Poderia resolver simplesmente colocando uma estimativa para cada estado: PAC Grátis (entrega em até 8 dias úteis). Mas ai teria os CEPs com restrição de entrega e o cliente iria querer receber no prazo que tava escrito = ReclameAqui!

    Ta duro resolver isso. Você tem disponibilidade pra atuar como freelancer?

    obg
    Ricardo

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @ricardods Código que o @celsobessa falou funciona, entretanto se você quer que seja apenas para determinado lugar, é necessário então indicar o ID certo que esta querendo, da para ver isso ao editar os métodos de entrega.
    Vai mostrar a na URL por exemplo admin.php?page=wc-settings&tab=shipping&instance_id=53, então o ID ai é 53.
    Além que no código faltou indicar que vai receber mais de um parâmetro e assim fazer funcionar o $instance_id.

    
    function seuprefixo_pac_gratis( $arr, $instance_id ) {
    	$cart_subtotal = WC()->cart->cart_contents_total;
    
    	if ( ( 53 === $instance_id && 150 <= $cart_subtotal ) || ( 3 === $instance_id && 250 <= $cart_subtotal ) ) {
    		$arr['cost'] = 0;
    	}
    
    	return $arr;
    }
    add_filter( 'woocommerce_correios_correios-pac_rate', 'seuprefixo_pac_gratis', 10, 2 );
    

    Ta duro resolver isso. Você tem disponibilidade pra atuar como freelancer?

    Isso não é apreciado aqui e vai fazer com que esse tópico seja fechado: https://codex.wordpress.org/Forum_Welcome#Offering_to_Pay

    O que seria bem chato, já que foi invadido o tópico de outra pessoa, também vale apena ler https://codex.wordpress.org/Forum_Welcome#Where_To_Post

    @claudiosanches incrível, funciona perfeitamente, muito obrigado. Esse código fará muita diferença pra gente.

    Desculpe-me sobre a parte “offering to pay”. Eu não sabia que ia contra as boas práticas do fórum, não será repetido.

    Mais uma vez obrigado!

    Thread Starter dsnilo

    (@dsnilo)

    Obrigado pela resposta..vou testar, apesar que fiz diferente.
    Estou usando a ultima versão do woocommerce e não desabilitei o Correio, assim o caluclo dos Fretes é feito excluindo o PAC, que continua funcionado com o codigo anterior no functions

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @dsnilo mas é melhor atualizar e usar esse código novo assim.
    Até mesmo porque agora tudo vai funcionar com áreas de entrega, sem contar que é bem mais flexível agora. Exemplo de como é mais flexível, nesse caso é para dar desconto depois de um valor X no carrinho, mas se for sempre dar frete grátis por PAC para o estado de São Paulo, da para criar uma área de entrega para o estado, colocar a opção de PAC e na opção “Taxa de manuseio” colocar o valor -100% e pronto, já fica gratuito para o estado inteiro e ainda vai continuar mostrando a estimativa de entrega e nem vai precisar mexer em nada de código.

    Thread Starter dsnilo

    (@dsnilo)

    Opa Legal Claudio,
    Obrigado pela resposta. Mas o meu cliente utiliza o PAC Grátis para todo o Brasil independente da região e valor ..o PAC é para apenas dar ao cliente dele, a noção de tempo de entrega.
    Mas como vc sugeriu colocar -100% na taxa de manuseio..vou testar no meu servidor de teste para “todo o Brasil”. Até pque essa informação não estava em seu tutorial.

    Uma observação…O WordPress é um opensource, os plugins, não precisam ser.
    Cobre por versão premium…Vc sabe que quem usa o woocommerce é seu refém né?…rsrs

    O povo quer mandar pelos correios peso acima de 60 kgs e o plugin não permite esse calculo…dê um up e cobre por algumas variaveis que o mercado solicita…vai ter muito mais din din na sua conta do que esperar por doações. Eu mesmo confesso, que não lhe dei doação alguma se tem tudo na mão, gratuitamente.
    Abs

    Plugin Author Claudio Sanches

    (@claudiosanches)

    Mas como vc sugeriu colocar -100% na taxa de manuseio..vou testar no meu servidor de teste para “todo o Brasil”. Até pque essa informação não estava em seu tutorial.

    Nunca coloquei dica sobre isso em nenhum lugar, mas acho que vou fazer um post sobre isso qualquer dia.

    Uma observação…O WordPress é um opensource, os plugins, não precisam ser.
    Cobre por versão premium…Vc sabe que quem usa o woocommerce é seu refém né?…rsrs

    Prefiro que seja gratuito mesmo, se quiser contribuir financeiramente pode fazer doações, mas sinceramente prefiro review com 5 estrelas, bem melhor que qualquer dinheiro e já mostra bastante reconhecimento.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Frete Grátis com prazo de Entrega’ is closed to new replies.