Esta é uma ótima personalização para os proprietários de lojas WooCommerce que estão dispostos a aceitar doações, valores personalizados ou precisam de qualquer maneira que o cliente insira um preço personalizado na página do produto para pagar uma fatura ou uma conta.
Isso é tão simples quanto criar um produto simples com preço de $ 0 e, depois disso, usar o snippet abaixo para exibir um campo de entrada na página de um único produto, onde os clientes podem inserir seu valor personalizado. Aproveitar!
Com este snippet simples, você pode permitir que os clientes escolham o preço do produto e o adicionem ao carrinho. O sistema substituirá automaticamente o preço do produto no Carrinho/Checkout/Pedido.
Snippet PHP: Escolha o preço do seu produto na página de produto único do WooCommerce
Nota: primeiro você precisa criar um produto simples chamado qualquer coisa que você goste, por exemplo. “Donation” ou “Pay Your Bill”, dê um preço de $ 0,00 e obtenha o ID do produto para que possa ser usado no código abaixo (ID 241982 no meu caso).
/** * @snippet Customer Price Input @ WooCommerce Single Product * @how-to Get CustomizeWoo.com FREE * @author Rodolfo Melogli * @compatible WooCommerce 7 * @donate $9 https://businessbloomer.com/bloomer-armada/ * / add_action( ‘woocommerce_before_add_to_cart_button’, ‘bbloomer_product_price_input’, 9 ); function bbloomer_product_price_input() { global $product; if ( 241982 !== $product->get_id() ) return; woocommerce_form_field( ‘set_price’, array( ‘type’ => ‘text’, ‘required’ => true, ‘label’ => ‘Definir preço ‘ . get_woocommerce_currency_symbol(), )); } add_filter( ‘woocommerce_add_to_cart_validation’, ‘bbloomer_product_add_on_validation’, 9999, 3 ); function bbloomer_product_add_on_validation( $passed, $product_id, $qty ) { if ( isset( $_POST[‘set_price’] ) && higien_text_field( $_POST[‘set_price’] ) == ” ) { wc_add_notice( ‘Definir preço é obrigatório campo’, ‘erro’); $passado = falso; } return $passado; } add_filter( ‘woocommerce_add_cart_item_data’, ‘bbloomer_product_add_on_cart_item_data’, 9999, 2 ); function bbloomer_product_add_on_cart_item_data( $cart_item, $product_id ) { if ( 241982 !== $product_id ) return $cart_item; $cart_item[‘set_price’] = higien_text_field( $_POST[‘set_price’] ); retornar $cart_item; } add_action( ‘woocommerce_before_calculate_totals’, ‘bbloomer_alter_price_cart’, 9999 ); function bbloomer_alter_price_cart( $cart ) { if ( is_admin() && !defined( ‘DOING_AJAX’ ) ) return; if ( did_action( ‘woocommerce_before_calculate_totals’ ) >= 2 ) return; foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) { $product = $cart_item[‘data’]; if ( 241982 !== $product->get_id() ) continuar; $cart_item[‘data’]->set_price( $cart_item[‘set_price’] ); } }
Existe um plugin para isso?
Se você adora codificar, mas não se sente 100% confiante com PHP, decidi procurar um plugin confiável que alcance o mesmo resultado.
Nesse caso, recomendo o plugin Name Your Price. Além de permitir que os clientes escolham o preço, você também pode ocultar o preço do produto, habilitá-lo para vários tipos de produtos, como variável, agrupado, pacote, composto etc., torná-lo compatível com assinaturas WooCommerce e muito mais.
Mas caso você odeie plugins e deseje codificar (ou queira tentar isso), continue lendo
Onde adicionar este trecho?
Você pode colocar snippets PHP na parte inferior do arquivo functions.php do seu tema filho (exclua “?>” se você o tiver lá). O CSS, por outro lado, vai para o arquivo style.css do seu tema filho. Certifique-se de saber o que está fazendo ao editar esses arquivos – se precisar de mais orientação, dê uma olhada no meu tutorial em vídeo gratuito “Onde colocar a personalização do WooCommerce?”
Esse trecho (ainda) funciona?
Por favor, deixe-me saber nos comentários se tudo funcionou como esperado. Ficarei feliz em revisar o snippet se você relatar o contrário (forneça capturas de tela). Eu testei este código com o tema Storefront, a versão WooCommerce listada acima e uma hospedagem compatível com WordPress em PHP 7.3.
Se você acha que este código economizou tempo e dinheiro, sinta-se à vontade para se juntar a mais de 14.000 assinantes do WooCommerce Weekly para atualizações de postagens de blog ou a mais de 250 apoiadores do Business Bloomer para 365 dias de benefícios do WooCommerce. Agradeço antecipadamente 🙂
Precisa de ajuda com o WooCommerce?
Confira estes tutoriais em vídeo gratuitos. Você pode aprender como personalizar o WooCommerce sem plug-ins desnecessários, como definir corretamente as configurações do plug-in WooCommerce e até mesmo como dominar a solução de problemas do WooCommerce em caso de bug!
Rodolfo Melogli
Fundador do Business Bloomer
Autor, especialista em WooCommerce e palestrante do WordCamp, Rodolfo trabalha como freelancer independente de WooCommerce desde 2011. Seu objetivo é ajudar empreendedores e desenvolvedores a superar seus pesadelos com WooCommerce. Rodolfo adora viajar, correr atrás de bolas de tênis e futebol e, claro, pizza de forno a lenha.
Siga @rmelogli
Pós-navegação
Fonte