我想在Woocommerce的结帐按钮后面/下面有一个取消订单按钮 . 然后在客户点击此按钮后,购物车将为空,重定向到商店页面 .
我在模板中使用模板 form-checkout.php 中的woocommerce_cancelled_order尝试了几件事 .
form-checkout.php
但我无法弄清楚这一点 . 我怎样才能解决这个问题?
在结账时 order object 不会't exist until customer clicks on 1284794 , so you can' t使用位于 cancel_order() 方法中的钩子woocommerce_cancelled_order .
cancel_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文件中 . 经过测试和工作 .
1 回答
在结账时 order object 不会't exist until customer clicks on 1284794 , so you can' t使用位于
cancel_order()
方法中的钩子woocommerce_cancelled_order .在结帐页面中,您需要使用自定义按钮清空购物车,以下代码将清空购物车并在点击“取消订单”时重定向到购物:
代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .