Suporte » Plugins » Retirar preço variações.

  • Resolvido mrstecno

    (@mrstecno)


    Olá.

    Tenho esse site com alguns produtos que são variáveis e na pagina da loja fica mostrando o intervalo de preço das variações, porém eu queria que ele mostrasse somente um dos preços, o menor por exemplo. Porém quando eu tento colocar um “display:none” para um deles por exemplo some toda a parte de preços, inclusive a de plugin que tenho. É possível eu tirar somente um deles?

    imagem ilustrando: https://prnt.sc/pgwsrq

    • Este tópico foi modificado 4 anos, 6 meses atrás por Felipe Santos. Motivo: Movendo para "Plugins"

    A página que eu preciso de ajuda: [fazer login para ver o link]

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • Moderador Felipe Santos

    (@foosantos)

    Olá, tudo bem?

    Você já conseguiu resolver o seu problema?

    Acessei o seu site, e aparentemente já está funcionando dessa forma.

    saudações mrstecno,

    Felipe, continua lá, é o quarto produto. os 3 primeiros não usam essa variação, só o último produto na página.

    no caso, usar display: none não funciona porque essa variação de trata de um argumento único, que é composto pelo menor e maior preço das suas variações.

    falando em termos de experiência do usuário (UX design), você deveria deixar assim. pois o usuário entende que há uma variação de preço de acordo com a escolha. no seu caso, o tamanho maior da mesa, óbvio, tem um preço maior…

    deixar como sugeriu apenas com o menor preço pode levar a aborrecimentos, reclamações e até alguém querendo lhe processar, registrando prints do seu site como prova. pois dá margem para o cliente alegar que quando clicou no produto havia um preço, mas ao escolher a variação, o produto era maior. enfim, há todo um processo de checkout antes da compra, mas em matéria de questões jurídicas é melhor prevenir do que remediar.

    mas se ainda assim quiser fazer essa personalização, acredito que um desenvolvedor resolva. pois será necessário alterar o código do WooCommerce para que ao invés de mostrar a diferença de valores das variações, mostre apenas o valor da variação com o menor preço.

    apesar de ser designer, tenho certeza que isso é possível, mas envolve mexer no código. e é melhor negociar com um desenvolvedor, tanto para ter um código certo como para ter suporte em caso de problemas.

    mas se fosse eu com essa questão, eu simplesmente separaria as variações em produtos únicos. e ai colocaria a medida menor/maior com diferença no título do produto. inclusive porque o em até 10x de R$350,00 sem juros não se refere a variação mais cara, deixa a coisa confusa.

    boa sorte.

    • Esta resposta foi modificada 4 anos, 6 meses atrás por Ralden Souza.
    Criador do tópico mrstecno

    (@mrstecno)

    Ainda não, quando o produto é variável, na pagina da loja ele ainda é exibido assim como nessa imagem:
    https://prnt.sc/ph1htp

    É que eu somente coloquei esse produto como variável para fazer teste, os outros ficam normal pois não estão como produto variável.

    Moderador Felipe Santos

    (@foosantos)

    Então, você até poderia tentar algo como pseudo class para fazer isso, mas ainda ficaria com o “traço” entre o valores porque não tem nenhuma class/id definida para isso.

    A melhor forma de fazer isso seria duplicar o arquivo dessa página do WooCommerce em um tema filho e deixar da forma que quiser usando PHP. Contudo, não vou poder lhe ajudar neste sentido porque não sou desenvolvedor.

    Vou compartilhar com a equipe de voluntários, caso alguém consiga lhe ajudar com isso.

    De qualquer forma, concordo plenamente com o @ralden, isso é péssimo para experiência do seu usuário e não recomendo que faça isso.

    Criador do tópico mrstecno

    (@mrstecno)

    Certo, vou dar uma olhada no código pra ver se consigo mexer nisso. É que vi em outros sites de móveis feitos em outras linguagens que funcionam assim, tem um preço único na tela da loja porém quando altera a variação(tamanho da peça) o preço altera. Mas muito obrigado pela ajuda aos dois @ralden e @felipeloureirosantos . Mas @felipeloureirosantos se conseguir pra mim essa ajuda com a equipe de voluntários eu seria muito grato.

    Boa Tarde @mrstecno,

    Para remover a variação em produtos variáveis no WooCommerce você pode colocar a seguinte função no seu functions.php ou em um plugin:

    add_filter( 'woocommerce_variable_price_html', 'bbloomer_variation_price_format_min', 9999, 2 );
      
    function bbloomer_variation_price_format_min( $price, $product ) {
       $prices = $product->get_variation_prices( true );
       $min_price = current( $prices['price'] );
       $price = sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $min_price ) );
       return $price;
    }

    Acho que é o suficiente, porém nao aconselho a tirar, mas não sei as regras de negócio que implicam nessa tomada de decisão.

    espero que te ajude!

    • Esta resposta foi modificada 4 anos, 6 meses atrás por Mario Ernesto.
    Moderador Claudio Sanches

    (@claudiosanches)

    É possível mudar a forma que isso aparece, aqui um exemplo de como mostrar o preço como “A partir de R$ xx,xx” em caso de variação de preço assim.

    add_filter( 
        'woocommerce_variable_price_html',
        function( $price, $variable ) {
            $prices = $variable->get_variation_prices( true );
    	if ( empty( $prices['price'] ) ) {
    			return $price;
            }
    
            $min_price     = current( $prices['price'] );
            $max_price     = end( $prices['price'] );
            $min_reg_price = current( $prices['regular_price'] );
            $max_reg_price = end( $prices['regular_price'] );
    
            if ( $min_price !== $max_price ) {
                $price = sprintf( 'A partir de %s', wc_price( $min_price ) );
            } elseif ( $variable->is_on_sale() && $min_reg_price === $max_reg_price ) {
                $price = wc_format_sale_price( wc_price( $max_reg_price ), wc_price( $min_price ) );
            } else {
                $price = wc_price( $min_price );
            }
    
            return $price . $variable->get_price_suffix();
        },
        10, 
        2
    );

    Você pode usar este código no functions.php do seu tema ou criar um plugin com ele.

    • Esta resposta foi modificada 4 anos, 6 meses atrás por Claudio Sanches. Razão: Código atualizado para utilizar o filtro woocommerce_variable_price_html

    Segue o do @claudiosanches que ta mais completo. 🙂

    Criador do tópico mrstecno

    (@mrstecno)

    Muito obrigado a todos, o código do @claudiosanches deu certo realmente.

Visualizando 9 respostas - 1 até 9 (de um total de 9)
  • O tópico ‘Retirar preço variações.’ está fechado para novas respostas.