Suporte » Plugins » Taxas no WooCommerce

  • Olá bom Dia, estou procurando uma solução para as taxas do woocomerce.
    Exemplo:
    Tenho dois produtos (e cada um tem uma taxas ICMS e IPI no qual seria 10% no valor total do produto)
    Bola: R$ 100,00
    Chuteira: R$ 200,00

    Com taxa passa a ser –
    (ICMS: R$ 10,00 e IPI R$ 11,00)
    Bola: R$ 121,00
    (ICMS: R$ 20,00 e IPI R$ 22,00)
    Chuteira: R$ 242,00

    No WooCommerce o modelo apresentado no carrinho é assim:
    Bola: R$ 121,00 (incl.taxas)
    Chuteira: R$ 242(incl.taxas)

    Subtotal: R$ 363,00
    Total: R$ 363,00 ( inclui R$ 30,00 ICMS, R$ 33,00 IPI)

    Agora vem o exercício:
    Gostaria de incluir os valores das taxas no produto individual:
    Bola: R$ 121,00 (inclui R$ 10,00 ICMS, R$ 11,00 IPI)
    Chuteira: R$242,00 (inclui R$ 20,00 ICMS, R$ 22,00 IPI)

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá, tudo bem?

    O que você quer é discriminar cada taxa na descrição do valor do produto no carrinho?

    Abraços

    Criador do tópico ProjetosVTA

    (@iurysan10)

    Exatamente Mario, ao invés dele falar so o valor final de todos as taxas juntos, preciso que descriminar suas taxas por item …. Poderia em ajudar ?

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Já tô te ajudando… hahaha

    Bem… podemos procurar algum filtro do WooCommerce que dê para alterar esse texto ou então você vai precisar alterar seu Tema para fazer isso.

    Qual tema está usando?

    Criador do tópico ProjetosVTA

    (@iurysan10)

    Tema ShopMe, eu altero dentro do tema ou do template ‘cart’ do WooCommerce ?
    Hoje esta assim:
    Bola: R$ 121,00 (incl.taxas)
    Quero que fique assim:
    Bola: R$ 121,00 (inclui R$ 10,00 ICMS, R$ 11,00 IPI)

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Como o tema ShopMe é um tema pago, não vou poder ajudar no que refere-se a ele, já que não discutimos nada pago aqui no Fórum.

    Mas posso te dizer que é dentro do Tema sim. Nunca altere o plugin.

    Além disso, como você deve querer manter as alterações quando o tema atualizar, sugiro que antes (além do backup) faça um tema filho:

    – Documentação Oficial:
    https://codex.wordpress.org/pt-br:Temas_Filhos

    – Um tutorial meu:
    https://mariovalney.com/como-criar-um-tema-filho-child-theme-para-wordpress/

    Basicamente:

    1 – Você cria o tema filho (nada vai mudar).
    2 – Você procura qual arquivo do WooCommerce é responsável por aquela listagem.
    3 – Você move para dentro do Tema filho.
    4 – Altera o arquivo para imprimir as informações de taxa (nessa parte posso te ajudar).

    Lembrando que não necessariamente vai estar no seu tema, afinal ele pode usar o arquivo padrão do WooCommerce. Então se não achar em seu-tema/woocommerce procure no plugin também, mas não edite lá: mova para seu tema filho.

    Abraços

    Criador do tópico ProjetosVTA

    (@iurysan10)

    Certo, ja estou no tema filho, so que não consigo identificar se a função é do tema ou do plugin sei que esta dentro dessa class “woocommerce-Price-amount amount” aparentemente do Woocommerce ….
    Tem alguma linha de programação para puxar essas taxas ?

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Manda o arquivo que imprime o que já tem, por favor.

    Se for muito grande, copia dentro de um pastebin que facilita.

    Criador do tópico ProjetosVTA

    (@iurysan10)

    Esse é o problema kkkkkkk
    não sei qual é o arquivo que imprime …

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Opa. Item 2 então então…

    Tem o link do site? Se eu tivesse que procurar eu procuraria pelo HTML que vejo na listagem ou então ia procurando os arquivos “que fazem sentido” por exemplo algo com “cart” ou “item” ou “list”.

    Talvez o seutema/woocommerce/cart/cart.php ou woocommerce/templates/cart/cart.php sejam um bom ponto de procura.

    Você pode ir alterando os arquivos para ver se altera no site real.

    Criador do tópico ProjetosVTA

    (@iurysan10)

    Olá Mario, encontrei o seguinte em meutema/woocommerce/cart/cart.php :

    https://pastebin.com/FPgg331p

    Desde já agradeço.

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Opa. Acho que é aqui:

    <td class="total" data-title="<?php esc_html_e('Total', 'shopme') ?>">
        <?php echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); ?>
    </td>

    Mas tá vendo que tem um filtro? Acho que não vamos precisar mexer aí, podemos usar o filtro. Então vai no seu functions.php e adicione o código abaixo:

    /**
     * Adiciona as taxas ao subtotal no carrinho
     */
    
    function vta_cart_item_subtotal( $wc, $cart_item, $cart_item_key ) {
    	$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    
    	$subtotal = wc_get_price_including_tax( $_product, array( 'qty' => $cart_item['quantity'] ) );
    	$subtotal = wc_price( $subtotal );
    
    	if ( ! empty( $cart_item['line_subtotal_tax'] ) ) {
    		$_tax = new WC_Tax();
    
    		$rates = WC_Tax::get_rates( $_product->get_tax_class() );
    
    		if ( ! empty( $rates ) ) {
    			$rates_string = '';
    			$total = count( $rates );
    			$rates = array_values( $rates );
    			foreach ( $rates as $key => $rate ) {
    
    				$tax = WC_Tax::calc_exclusive_tax( (float) $cart_item['line_subtotal'], array( $rate ) );
    
    				$rates_string .= wc_price( $tax[0] );
    				$rates_string .= ' ' . $rate['label'];
    
    				if ( $key < ( $total - 2 ) ) {
    					$rates_string .= ', ';
    				} else if ( $key == ( $total - 2 ) ) {
    					$rates_string .= ' e ';
    				}
    			}
    
    			$subtotal .= '<small class="tax_label" style="display: block;"> (inclui ' . $rates_string . ')</span>';
    		}
    
    	}
    
        return $subtotal;
    };
    
    // add the filter
    add_filter( 'woocommerce_cart_item_subtotal', 'vta_cart_item_subtotal', 10, 3 );

    Além disso, pra ficar bem visualizado no carrinho, vamos alterar o preço também para o valor sem taxas:

    /**
     * Adiciona as taxas ao subtotal no carrinho
     */
    
    function vta_cart_item_price( $wc, $cart_item, $cart_item_key ) {
    	$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    
        return wc_price( $_product->get_price() );
    };
    
    // add the filter
    add_filter( 'woocommerce_cart_item_price', 'vta_cart_item_price', 10, 3 );

    Link para o código completo:
    https://gist.github.com/mariovalney/b42543f83e1f7c6d8fc16996a99b3855

    Com isso, deve ficar tudo OK.

    Abraços

    • Esta resposta foi modificada 5 anos, 3 meses atrás por Mário Valney.
Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘Taxas no WooCommerce’ está fechado para novas respostas.