• Resolved leandroide

    (@leandroide)


    Boa noite.

    Eu tenho seguinte problema: quando vou para a página do Carrinho com produtos já incluídos, eu percebo que é possível prosseguir para a página de Finalizar Compra sem precisar Calcular Frete (sem definir um CEP) e assim, finalizar de fato a compra (sem o valor de entrega). Como fa?o para for?ar o usuário a definir um CEP e uma forma de entrega antes de ir para a página de Finalizar Compra? é possível? Ou terei que fu?ar no código fonte parar conseguir resolver esse problema?

    Vale ressaltar que eu já configurei a quest?o das entregas e dos produtos (peso, medidas e afins) devidamente.

    https://www.ads-software.com/plugins/woocommerce-correios/

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Author Claudio Sanches

    (@claudiosanches)

    N?o faz parte do escopo do plugin isso. O que você esta falando é o comportamento padr?o do WooCommerce, se quer fazer isso, vai ter que procurar outro plugin para for?ar isso ou criar código personalizado.

    Thread Starter leandroide

    (@leandroide)

    Sem problemas. Obrigado pela resposta.

    Eu já consegui resolver o problema. Criei uma fun??o que checa algumas premissas, redireciona para a página do Carrinho e mostra uma mensagem de erro. Resolveu meu problema.

    Você poderia me explicar como conseguiu resolver esse problema? estou tentando for?ar o calculo do frete antes de finalizar a compra também, porém n?o estou conseguindo.

    Thread Starter leandroide

    (@leandroide)

    Claro. Eis no link abaixo o patch que fiz:

    https://gist.github.com/leandro/89b1e7622227a06fd57ece09ae55e4a4

    Repare que você terá que arrumar o i18n. Eu só copiei/colei o código em si, pois há muito lixo no resto do patch no que diz respeito aos arquivos .po/.pot/.mo. Enjoy! ??

    Leandro…Desculpe a ignorancia, mas n?o entendi o que disse com rela??o ao “i18n” o que eu terei que arrumar???? Estou com o mesmo problema….

    Thread Starter leandroide

    (@leandroide)

    Carmisaria: eu estava falando da linha 26, onde eu adicionei um novo termo “internacionalizável” com a chamada __(). Aí com isso tive que atualizar meus arquivos .pot e .po. Mas se quiser, pode substituir aquilo por uma string com termos em português.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @leandroide n?o precisava fazer isso dentro do WooCommerce.
    Pode criar um plugin apenas para isso ou colocar dentro do functions.php do seu tema.
    Bastava usar:

    
    /**
     * Certifies that user gets redirected to Cart page if shipping is enabled, mandatory but the user didn't set to where he wants the products to be delivered.
     * This will only happen if in Checkout page.
     */
    function my_wc_force_shipping_to_be_set_on_checkout() {
    	if ( is_checkout() && WC()->cart->needs_shipping() && empty( WC()->customer->get_shipping_postcode() ) ) {
    		wc_add_notice( __( 'Before going to Checkout page you need to set your shipping information', 'woocommerce' ), 'error' );
    		wp_redirect( wc_get_page_permalink( 'cart' ) );
    		exit();
    	}
    }
    
    add_action( 'wp_head', 'my_wc_force_shipping_to_be_set_on_checkout' );
    

    Até mesmo porque assim pode atualizar o WooCommerce e n?o perder a sua modifica??o.

    Thread Starter leandroide

    (@leandroide)

    Ah sim, valeu pela dica, Claudio.

    Eu já imaginava que n?o havia escolhido o melhor lugar para colocar o código que eu criei.
    Depois vou mudar ele de lugar. N?o estou acostumado a usar WordPress, ent?o, obviamente, houve falhas.

    Obrigado.

    Plugin Author Claudio Sanches

    (@claudiosanches)

    @leandroide n?o uma “falha”, o que você fez funciona, problema é que se fizer isso, vai ter que refazer toda vez que atualizar o WooCommerce.
    Dessa forma é mais simples e como falei da para criar um plugin com isso dai até, basta no come?o do arquivo colocar isto:

    
    <?php
    /*
    Plugin Name: Nome do plugin
    */
    

    E depois criar uma pasta para o arquivo dentro da pasta wp-content/plugins e colocar o arquivo lá, ou se quiser da para zipar também e instalar pelo WordPress.

    Se quiser ver mais como criar um plugin tem instru??es aqui: https://developer.www.ads-software.com/plugins/the-basics/header-requirements/

    Thread Starter leandroide

    (@leandroide)

    Eu até pensei em criar essa lógica como um plugin. Mas só criei plugin uma vez no wordpress e faz uns anos, aí resolvi simplificar.

    E quanto à atualiza??o de vers?o, eu já estava ciente, apenas estava evitando atualizar hehehehe. Mas mudar tudo o que eu fiz (além dessa lógica que criei) apenas dentro do tema é mais sensato mesmo. Valeu pela dica mais uma vez.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Como for?ar o calculo do frete na página do Carrinho?’ is closed to new replies.