Hola,
Deberías usar el hook woocommerce_cart_totals_before_shipping
y woocommerce_review_order_before_order_total
Tienes que hacer un código del tipo:
add_action( 'woocommerce_cart_totals_before_shipping', 'action_woocommerce_cart_discount_applied', 10, 0 );
add_action( 'woocommerce_review_order_before_order_total', 'action_woocommerce_cart_discount_applied', 10, 0 );
function action_woocommerce_cart_discount_applied(){
global $woocommerce;
$discount_total = 0;
$regular_price_total = 0;
$shipping_cost = $woocommerce->cart->shipping_total;
$cart_total = $woocommerce->cart->total;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values) {
$_product = wc_get_product( $values['data'] );
if ( $_product->is_on_sale() ) {
$regular_price = $_product->get_regular_price();
$regular_price_total += $regular_price* $values['quantity'];
}
}
$discount_total = $regular_price_total - $cart_total + $shipping_cost;
if ( $discount_total > 0 ) {
echo '<tr class="cart-discount">
<th>'. __( 'You Saved', 'woocommerce' ) .'</th>
<td data-title=" '. __( 'You Saved', 'woocommerce' ) .' ">'
. wc_price( $discount_total ) .'</td>
</tr>';
}
}
No he testeado el código pero por ahí debería ir. También revisa exactamente la maqueta de tu tema para que los se muestre bien en el listado de totales.
Espero que te haya ayudado. Agradeceré que pases a comentar tu resultado y en caso de que funcionase marques el debate como resuelto.
Gracias Adrián, en breve contrataré un informátic@ para que añada este código que mencionas, porque yo no sé lo que es un hook ni dónde debería insertarlo.
Si piensas que no es necesario contratarlo y tú me puedes dar las indicaciones de dónde insertarlo, estaré encantada. Mi web: http://www.wild-confetti.com
Mil gracias de nuevo. Teresa
Hola @wildconfetti
Pudiste solucionarlo? Comparte como lo hiciste y cierra el debate.