Você está visualizando atualmente WooCommerce: Defina a porcentagem de desconto do produto @ Administrador do produto

WooCommerce: Defina a porcentagem de desconto do produto @ Administrador do produto

  • Autor do post:
  • Categoria do post:Woocommerce
  • Tempo de leitura:5 minutos de leitura

Digamos que você queira aplicar um desconto de 10% em um produto WooCommerce. Seu preço original é $ 79,56. Vá para a página “Editar produto”, vá para o campo de entrada “Preço de venda” e insira ($ 79,56 – 10%) = $ 71,63. Isso é ótimo porque você pode definir o preço de venda, mas o obriga a fazer algumas contas e perder tempo.

E se houvesse uma lista suspensa de seleção personalizada, onde você pudesse definir diretamente um desconto fixo, por exemplo, 10% ou 25%, sem ter que calcular o preço final?

Bem, no tutorial de hoje veremos como podemos exibir um dropdown na página Product Edit, e ao mesmo tempo como edite o preço inicial assim que um valor de desconto for selecionado, para que você não precise se preocupar com o cálculo manual do preço de venda. Divirta-se!

Com este menu suspenso de seleção personalizado, posso definir o preço de venda do produto WooCommerce selecionando uma taxa de desconto fixa e parar de me preocupar com matemática!

Snippet PHP: Definir desconto de produto por meio de um menu suspenso personalizado @ WooCommerce Editar página de produto

/** * @snippet Definir desconto de produto – WooCommerce * @como obter CustomizeWoo.com GRATUITO * @autor Rodolfo Melogli * @ WooCommerce 7 compatível * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_action( ‘woocommerce_product_options_pricing’, ‘bbloomer_set_percentage_discount’ ); function bbloomer_set_percentage_discount() { global $product_object; woocommerce_wp_select( array( ‘id’ => ‘_pc_discount’, ‘value’ => get_post_meta( $product_object->get_id(), ‘_pc_discount’, true ), ‘label’ => ‘Desconto %’, ‘options’ => array( ‘0’ => ‘0’, ’10’ => ’10’, ’25’ => ’25’, ’50’ => ’50’, ), ) ); } add_action( ‘save_post_product’, ‘bbloomer_save_percentage_discount’ ); função bbloomer_save_percentage_discount( $product_id ) { global $typenow; if ( ‘produto’ === $typenow ) { if ( definido( ‘DOING_AUTOSAVE’ ) && DOING_AUTOSAVE ) return; if (isset($_POST[‘_pc_discount’])) { update_post_meta($product_id, ‘_pc_discount’, $_POST[‘_pc_discount’]); } } } add_filter( ‘woocommerce_get_price_html’, ‘bbloomer_alter_price_display’, 9999, 2 ); function bbloomer_alter_price_display($price_html, $product) { if ( is_admin() ) return $price_html; if ( ” === $product->get_price() ) return $price_html; if ( get_post_meta( $product->get_id(), ‘_pc_discount’, true ) && get_post_meta( $product->get_id(), ‘_pc_discount’, true ) > 0 ) { $orig_price = wc_get_price_to_display( $product ); $price_html = wc_format_sale_price( $orig_price, $orig_price * ( 100 – get_post_meta( $product->get_id(), ‘_pc_discount’, true ) ) / 100 ); } return $preço_html; } 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 ( get_post_meta( $product->get_id(), ‘_pc_discount’, true ) && get_post_meta( $product->get_id(), ‘_pc_discount’, true ) > 0 ) { $price = $product->get_price(); $cart_item[‘data’]->set_price( $price * ( 100 – get_post_meta( $product->get_id(), ‘_pc_discount’, true ) ) / 100 ); } } }

Onde adicionar este snippet?

Você pode colocar snippets do 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?”

Este snippet (ainda) funciona?

Por favor, deixe-me saber no comente 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 no PHP 7.3.

Se você acha que este código economizou tempo e dinheiro, sinta-se à vontade para participar de mais de 14.000 WooCommerce Weekly assinantes para atualizações de postagens de blog ou mais de 250 apoiadores do Business Bloomer para 365 dias de benefícios WooCommerce. Agradecemos 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 da Business Bloomer

Autor, especialista em WooCommerce e Palestrante do WordCamp, Rodolfo trabalha como freelancer independente de WooCommerce desde 2011. Seu objetivo é para 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

Navegação de postagem

Fonte