Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

504
Visualizações
Obtenga el total de impuestos del carrito mediante programación en WooCommerce

¿Cómo se obtiene el total de impuestos en WooCommerce en la página functions.php en WordPress, usando:

 global $woocommerce; $discount = $woocommerce->cart->tax_total;

Pero no está devolviendo ningún valor.

¿Cómo puedo obtener el total de impuestos del carrito?

Esencialmente, quiero que el impuesto se calcule para el usuario, pero luego lo reduzca, ya que el cliente pagará los impuestos sobre COD.

Código completo a continuación:

 add_action( 'woocommerce_calculate_totals', 'action_cart_calculate_totals', 10, 1 ); function action_cart_calculate_totals( $cart_object ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; if ( !WC()->cart->is_empty() ): $cart_object->cart_contents_total *= .10 ; endif; } //Code for removing tax from total collected function prefix_add_discount_line( $cart ) { global $woocommerce; $discount = $woocommerce->cart->tax_total; $woocommerce->cart->add_fee( __( 'Tax Paid On COD', 'your-text-domain' ) , - $discount ); } add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

  1. global $woocommerce; $woocommerce->cart está obsoleto para Cart. Utilice WC()->cart en su lugar.
    Aquí puede usar directamente el argumento $cart (objeto) en su lugar...
  2. La propiedad correcta es taxes en lugar de tax_total .
  3. Es mejor usar el método WC_Cart get_taxes() para ser compatible con WooCommerce versión 3.0+

Para lograr lo que está intentando, su código será:

 // For Woocommerce 2.5+ (2.6.x and 3.0) add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line', 10, 1 ); function prefix_add_discount_line( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; $discount = 0; // Get the unformated taxes array $taxes = $cart->get_taxes(); // Add each taxes to $discount foreach($taxes as $tax) $discount += $tax; // Applying a discount if not null or equal to zero if ($discount > 0 && ! empty($discount) ) $cart->add_fee( __( 'Tax Paid On COD', 'your-text-domain' ) , - $discount ); }

El código va en el archivo function.php de su tema secundario activo (o tema) o también en cualquier archivo de complemento.

Este código está probado y funciona.

about 4 years ago · Santiago Trujillo Relatório

0

Está utilizando un nombre de función incorrecto. La función correcta es la siguiente: -

 WC()->cart->get_tax_totals( );

En lugar de usar $woocommerce->cart->tax_total; para obtener el impuesto total del carrito, puede hacerlo restando el total del carrito sin impuestos del total del carrito.

Puede hacer esto siguiendo el código: -

 $total_tax = floatval( preg_replace( '#[^\d.]#', '', WC()->cart->get_cart_total() ) ) - WC()->cart->get_total_ex_tax();

Si desea obtener una matriz para todos los impuestos, puede obtener el siguiente código: -

 WC()->cart->get_taxes( );
about 4 years ago · Santiago Trujillo Relatório

0

Podemos usar esta función que funcionó para mí.

 WC()->cart->get_total_tax();
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda