在结帐时添加一个按钮到空购物车并重定向到 Woocommerce 中的商店页面
Add a button in checkout to empty cart and redirect to shop page in Woocommerce
我想要取消订单按钮 behind/under Woocommerce 中的结帐按钮。然后在客户点击这个按钮后,购物车将是空的,重定向到商店页面。
我用 woocommerce_cancelled_order 在模板中尝试了几件事
在模板中 form-checkout.php
.
但我想不通。我该如何解决这个问题?
在结账时,订单对象 在客户点击 "Place Order" 之前不存在,因此您不能使用位于 cancel_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 文件。已测试并有效。
我想要取消订单按钮 behind/under Woocommerce 中的结帐按钮。然后在客户点击这个按钮后,购物车将是空的,重定向到商店页面。
我用 woocommerce_cancelled_order 在模板中尝试了几件事
在模板中 form-checkout.php
.
但我想不通。我该如何解决这个问题?
在结账时,订单对象 在客户点击 "Place Order" 之前不存在,因此您不能使用位于 cancel_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 文件。已测试并有效。