Suporte » Plugins » Alterar Exibição de preços de produtos variáveis na página SHOP

  • Estou usando o woocommerce e encontrei um código para alterar a forma que é exibida o preço variável, que troca o preço menor- preço maior, para “a partir de – preço menor”.
    Mas o código só faz isso na página do produto mas preciso que essa alteração seja feita em todos os lugares onde aparecem o produto, principalmente na home.

    Wordpress 4.7
    Tema: The Shopier
    Woocommerce Versão 2.6.9

    Segue o código que estou usando:
    function custom_variable_price_html( $price, $product ) {
    $price = ”;
    if ( ! $product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) {
    $price .= ‘<span class=”from”>’ . __( ‘A partir de’ ) . ‘ </span>’;
    }
    $price .= woocommerce_price( $product->get_price() );
    return $price;
    }
    add_filter( ‘woocommerce_variable_price_html’, ‘custom_variable_price_html’, 10, 2 );

    • Este tópico foi modificado 7 anos, 6 meses atrás por renatocandido.
Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • No meu esse codigo acima não funciona . Encontrei um outro na net… até funcionou. Mas tem um problema. Ele faz os preços de todos produtos sumirem, só exibe produtos variáveis.

    add_filter( 'woocommerce_get_price_html', 'custom_variable_price_html', 10, 2 );
    function custom_variable_price_html( $price, $product ) {
    	
    	if ( ! $product->is_type( 'simple' ) || $product->is_type( 'variable' ) || $product->get_price() === '') return;
    
    	$result = $price;
    	$prices = $product->get_variation_prices( true );
    
    	if ( ! empty( $prices['price'] ) ) {
    		$result = '';
    		$min_price = current( $prices['price'] );
    		$max_price = end( $prices['price'] );
    		if ( ! $min_price || $min_price !== $max_price ) {
    			$result .= '<span class="from">' . __( 'A partir de' ) . ' </span>';
    		}
    		$result .= woocommerce_price( $min_price );
    	}
    
    	return $result;
    }

    Rapazes tentem esse código abaixo para mim resolveu

    O código está neste link:
    https://gist.github.com/luizbills/3c0f05673498367028912a6f6aae468f

    /**
     * @version 1.0.1
    */
    add_filter( 'woocommerce_get_price_html', 'custom_variable_price_html', 10, 2 );
    function custom_variable_price_html( $price, $product ) {
    	if ( ! $product->is_type( 'variable' ) || $product->get_price() === '') return $price;
    
    	$result = '';
    	$prices = $product->get_variation_prices( true );
    
    	if ( ! empty( $prices['price'] ) ) {
    		$min_price = current( $prices['price'] );
    		$max_price = end( $prices['price'] );
    		if ( ( ! $min_price ) || $min_price !== $max_price ) {
    			$result .= '<span class="from">' . __( 'A partir de', 'prefix' ) . ' </span>';
    		}
    		$result .= woocommerce_price( $min_price );
    	}
    
    	return $result;
    }

    Oi Pessoal,

    Já uso um código praticamente igual ao de cima e funciona perfeitamente bem. Estou tentando fazer um código agora que apareça a variação relacionada ao preço, no meu caso o mínimo. O exemplo de uso seria para produtos com variação de peso.
    Ou seja:

      R$ 10,00 (preço) / 100g (variação)

    Mas não estou conseguindo descobrir como pegar o nome da variação.
    Alguém já conseguiu fazer isso? Já verifiquei toda a documentação e não descobri como relacionar o preço a variação.

    • Esta resposta foi modificada 7 anos atrás por Adil Calomeno Jr. Razão: melhorar a explicação
Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘Alterar Exibição de preços de produtos variáveis na página SHOP’ está fechado para novas respostas.