结帐页面显示优惠券折扣价:WooCommerce

时间:2017-03-27 11:32:45

标签: php wordpress woocommerce

我想在申请优惠券后在结账页面上显示折扣价,优惠价格显示在购物车页面和支付网关上,但我也想在结账页面上显示,因此客户可以轻松了解他们已经申请优惠券。< / p>

enter image description here

有没有办法在申请优惠券后显示折扣价。

有了这个钩子,我想在结账页面上获得折扣价

function woocommerce_order_review() {

 $totalp = $woocommerce->cart->get_cart_subtotal();
 $totaldisc = $woocommerce->cart->get_total_discount();
 $resultp = $totalp - $totaldisc; 
 print_r($resultp);
}
add_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );

2 个答案:

答案 0 :(得分:2)

您可以自定义woocommerce / templates / checkout / review-order.php模板,并根据您的要求显示折扣价,方法是将其放在您的主题文件夹下。

您在review-order.php中有购物车项目循环

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

有了这个内容。

在这里你将在最后一个表格单元格中有小计。在那里你可以显示折扣价。

或者你可以实现这个钩子。 “woocommerce_cart_item_subtotal”

答案 1 :(得分:0)

我已经解决了我的问题,下面是我刚刚复制了review-order.php的代码
wp-content / woocommerce / checkout / review-order.php
在我的主题文件夹woocommerce
mytheme / woocommerce / checkout / review-order。 PHP

找到这个类 class =“product-total”用下面提到的代码替换这个td的整个php

      <?php function remove_currency($price) {
            return (double) preg_replace('/[^0-9\.]+/', '', $price);
        }?>
        <?php 
        $total = remove_currency(apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key )); 
        $discount = remove_currency(apply_filters( 'get_total_discount', WC()->cart->get_total_discount( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key )); 
        echo $total-$discount;
        ?>

如果我错了,请纠正我   谢谢