Categorias: PHP | Plugins

Tags: WooCommerce

Esconder variação de preço para produtos variáveis no WooCommerce

Escrito por Amanda de Lavra

29 de setembro de 2021

No WooCommerce, quando um produto variável tem variação de preço, o padrão é o campo preço mostrar o preço mais baixo e o preço mais alto, porém isso fica confuso para os clientes. Ao desenvolver um site em que isso acontecia, precisei achar uma maneira que mostrasse apenas o menor preço. Pesquisei e achei esse tutorial: https://learnwoo.com/hide-price-range-woocommerce-variable-products/. O código fica o seguinte:

//Esconder variação de preço para produtos variáveis no WooCommerce
function lw_variable_product_price( $v_price, $v_product ) {

  //Preço do Produto
  $prod_prices = array( $v_product->get_variation_price( 'min', true ), $v_product->get_variation_price( 'max', true ) );

  $prod_price = $prod_prices[0]!==$prod_prices[1] ? sprintf(__('A partir de: %1$s', 'woocommerce'), wc_price( $prod_prices[0] ) ) : wc_price( $prod_prices[0] );

  //Preço Regular
  $regular_prices = array( $v_product->get_variation_regular_price( 'min', true ), $v_product->get_variation_regular_price( 'max', true ) );

  sort( $regular_prices );

  $regular_price = $regular_prices[0]!==$regular_prices[1] ? sprintf(__('A partir de: %1$s','woocommerce'), wc_price( $regular_prices[0] ) ) : wc_price( $regular_prices[0] );

  if ( $prod_price !== $regular_price ) {

    $prod_price = '<del>'.$regular_price.$v_product->get_price_suffix() . '</del> <ins>' . $prod_price . $v_product->get_price_suffix() . '</ins>';
  
  }

return $prod_price;

}

add_filter( 'woocommerce_variable_sale_price_html', 'lw_variable_product_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'lw_variable_product_price', 10, 2 );

Posts relacionados

Customizações da página de login e painel administrativo do WordPress

Customizações da página de login e painel administrativo do WordPress

Para todo o site que eu faço, personalizo a página de login e também o wp-admin para ficar com a marca do cliente. Recentemente, aperfeiçoei o código para que o login ficasse no meio da página, tanto verticalmente quanto horizontalmente. Segue código usado aqui neste...

Aviso de Coming Soon quando não há posts no Blog no Elementor

Aviso de Coming Soon quando não há posts no Blog no Elementor

O cliente queria um blog no site, mas não tinha nenhum conteúdo ainda para publicar, por isso, pediu para que aparecesse Coming Soon! no lugar dos posts. O módulo Posts do Elementor não dá a opção de personalizar a mensagem quando não há posts na query. Simplesmente...

Remover Post Type Projects

Remover Post Type Projects

Eu estava fazendo um site que usaria o tipo de post nativo do Divi que é o Projeto, mas depois a agência mudou de ideia e achei melhor retirar completamente o post type do site. Achei um tutorial em:...