首页 文章

在结帐时添加一个按钮以清空购物车并重定向到Woocommerce中的商店页面

提问于
浏览
1

我想在Woocommerce的结帐按钮后面/下面有一个取消订单按钮 . 然后在客户点击此按钮后,购物车将为空,重定向到商店页面 .

我在模板中使用模板 form-checkout.php 中的woocommerce_cancelled_order尝试了几件事 .

但我无法弄清楚这一点 . 我怎样才能解决这个问题?

1 回答

  • 1

    在结账时 order object 不会't exist until customer clicks on 1284794 , so you can' t使用位于 cancel_order() 方法中的钩子woocommerce_cancelled_order .

    在结帐页面中,您需要使用自定义按钮清空购物车,以下代码将清空购物车并在点击“取消订单”时重定向到购物:

    add_action( 'woocommerce_review_order_after_submit', 'checkout_reset_button', 10 );
    function checkout_reset_button(){
        echo '<br><br>
        <a class="button alt" style="text-align:center;" href="?cancel=1">'.__("Cancel order", "woocommerce").'</a>';
    }
    
    add_action( 'template_redirect', 'checkout_reset_cart' );
    function checkout_reset_cart() {
        if( ! is_admin() && isset($_GET['cancel']) ) {
            WC()->cart->empty_cart();
            wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
            exit();
        }
    }
    

    代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .

相关问题