首页 文章

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

提问于
浏览
0

我想在申请优惠券后在结账页面上显示折扣价,折扣价格也显示在购物车页面和支付网关上,但我也想在结账页面上显示,因此客户可以很容易地了解他们已经申请了优惠券 .

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 回答

  • 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”

  • 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;
            ?>
    

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

相关问题