Ocultar botão finalizar compra
-
Olá, pessoal. Bom dia a vocês, é o seguinte eu precisava ocultar o botão de finalizar compra na página de checkout, após uma condição de uma função minha que estou usando dentro de um action que checa o conteúdo do carrinho, porém não encontrei alguma action que faz o hook desse botão, alguém pode me ajudar por favor? Desde já muito obrigado! Abraços
- Este tópico foi modificado 5 anos, 1 mês atrás por Felipe Santos. Motivo: Alteração do estado do tópico de "não é uma questão de suporte" para "não resolvido"
-
Olá, tudo bem?
Você não conseguiu fazer isso usando CSS?
Não me parece fazer muito sentido ocultar isso, mas acredito que isso poderia ser uma opção neste caso.
Olá, Felipe. Tudo joia. É o seguinte, eu quero ocultar quando nao tiver uma certa quantidade de um produto no meu carrinho por exemplo, o cliente comprou apenas um produto en~toa não quero permitir que ele finalize a compra com apenas, somente após adicionar 2 ou mais. Obrigado por responder
Por nada!
Então, neste caso, recomendo que utilize está alternativa que oferece uma mensagem ao usuário (além de impossibilitar a compra): https://docs.woocommerce.com/document/minimum-order-amount/
Felipe, vou te mandar o código que eu estou fazendo, tu poderia dar uma olhada? por favor, e pode me tirar uma dúvida, é possivel usar um add_action dentro de uma função? Pois era o que eu precisava, para fazer com que o alerta aparecesse apenas numa página específica onde encontra-se os produtos.
add_action('get_header', 'pega_titulo'); function pega_titulo () { $tit = get_the_title(); if($tit == "Monte seu combo"){ add_action('woocommerce_before_cart_contents', 'verifica_qtde'); } else { echo "Passei pelo init"; } } function verifica_qtde () { global $woocommerce; $numero = $woocommerce->cart->cart_contents_count; if (($numero >= 0 ) && ($numero < 2)) { echo '<script> alert("***ATENÇÃO*** É PRECISO PELO MENOS DOIS ITENS PARA FECHAR UM COMBO") </script>'; } }
- Esta resposta foi modificada 5 anos, 1 mês atrás por robertdccaetano.
- Esta resposta foi modificada 5 anos, 1 mês atrás por robertdccaetano.
Isso não consigo ajudar porque não sou desenvolvedor. Compartilhei a sua dúvida com a equipe de voluntários que contribuem com o fórum caso alguém consiga lhe ajudar.
De qualquer forma, acredito que basta você testar e ver se funciona normalmente. Como não é a minha especialidade, prefiro não comentar. 😉
Certo, Felipe. Muito obrigado meu caro, bom final de semana e boas festas! Obrigado por compartilhar, fico no aguardo. Abraços
Por nada, boa sorte! Bom final de semana e boas festas para você também. 🙂
@robertdccaetano dá uma olhada neste plugin https://br.wordpress.org/plugins/woo-min-max-quantity-limit/
Valeu, Rafael Botelho vou dar uma olhada. 😀 Tu poderia dar uma olhada nesse meu código maluco? kk tu sabe me dizer se não é possível executar um add_action dentro de uma function ou if, nesse caso?
@robertdccaetano utilizar action dentro da função é possível, não sei dizer se isso é uma boa prática ou não.
Sobre o alerta exibir apenas em uma página específica, você pode usar
is_page()
. Passando o ID, Slug, nome da página, ou usaris_home()
,is_front_page()
,is_shop()
, enfim, existem diversas possibilidades.https://developer.wordpress.org/reference/functions/is_page/
- Esta resposta foi modificada 5 anos, 1 mês atrás por Rafael Botelho.
Ola @robertdccaetano,
Cara precisei fazer isso ontem pra um cliente que colocou a e-commerce em manutenção escrevi até um post no meu blog. segue a solução pra customizar o botão de checkout do produto basta colocar esse código no
functions.php
do seu tema:function woocommerce_button_proceed_to_checkout() { $checkout_url = WC()->cart->get_checkout_url(); ?> <a href="<?php echo $checkout_url; ?>" class="checkout-button button alt wc-forward"><?php _e( 'Check On Out', 'woocommerce' ); ?></a> <?php }
nesse meu caso eu só to alterando o nome, mas dentro dessa função você pode pegar a quantidade no carrinho e passar dentro da função se precisar posso colocar aqui mais completa a solução
abraços!
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
Pra pegar a quantidade e ocultar se a quantidade for menor que X você pode tentar algo assim:
/** * Disable checkout button if total cart less or equal than 5 products. */ function disable_checkout_button() { global $woocommerce; $total = $woocommerce->cart->cart_contents_count; // Change made if ( $total <= 5 ) { remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 ); echo '<a href="#" class="checkout-button button alt wc-forward">Proceed to checkout</a>'; } } add_action( 'woocommerce_proceed_to_checkout', 'disable_checkout_button', 1 );
A regra é essa ai, mas vc pode customizar colocando ou um texto junto ao botão ou passando uma classe de css pra deixar cinza. ai vai da sua criatividade 🙂
Testei aqui em uma e-commerce de testes e funciona, avisa pra gente se resolveu 🙂
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
- Esta resposta foi modificada 5 anos, 1 mês atrás por Mario Ernesto.
Bom dia, pessoal. @marioernestoms @rhenrigb. Cheguei aqui no trabalho vou colocar em prática as sugestões de vocês e já comunico se deu certo, desde já muito obrigado pela força meus caros!! @rhenrigb Coloquei ontem o is_page com o id da página irmão, mas ele nao reconheceu o ID, não sei se eu fiz errado, mas passei da seguinte forma, is_page(818) .
Bom pessoa, não sei o que acontece estou na página “Monte seu combo” ela é uma página descendente de uma anterior que no caso é uma cidade por exemplo, Ribeirão Preto é ascendente de Monte seu combo, porém o is_page(“Monte seu combo”) não está identificando qual página é, sera que preciso puxar algo do cabeçalho? Segue o código.
add_action('woocommerce_before_cart_contents', 'verifica_qtde', 20); if(is_page("Monte seu combo")){ echo 'Verdadeiro'; function verifica_qtde () { global $woocommerce; $numero = $woocommerce->cart->cart_contents_count; if ( ($numero >= 0 ) && ($numero < 2) ) { echo '<script> alert("**ATENÇÃO** É PRECISO PELO MENOS DOIS ITENS PARA FECHAR UM COMBO") </script>'; } else { } } }
- Esta resposta foi modificada 5 anos, 1 mês atrás por robertdccaetano.
- Esta resposta foi modificada 5 anos, 1 mês atrás por robertdccaetano.
- O tópico ‘Ocultar botão finalizar compra’ está fechado para novas respostas.