Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在“结帐”中添加一个按钮到空购物车,并重定向到Woocommerce中的“购物”页面_Php_Wordpress_Woocommerce_Cart_Checkout - Fatal编程技术网

Php 在“结帐”中添加一个按钮到空购物车,并重定向到Woocommerce中的“购物”页面

Php 在“结帐”中添加一个按钮到空购物车,并重定向到Woocommerce中的“购物”页面,php,wordpress,woocommerce,cart,checkout,Php,Wordpress,Woocommerce,Cart,Checkout,我想在Woocommerce的结帐按钮后面/下面有一个取消订单按钮。然后,当顾客点击这个按钮后,购物车将是空的,重定向到购物页面 我在模板中尝试了几件事,取消了订单 在模板表单checkout.php中 但我无法理解这一点。如何解决此问题?在签出中,只有客户单击“下订单”后,订单对象才存在,因此您不能使用取消订单()方法中的挂钩 在结帐页面中,您需要使用自定义按钮清空购物车,单击“取消订单”时,以下代码将清空购物车并重定向到商店: add_action( 'woocommerce_review_

我想在Woocommerce的结帐按钮后面/下面有一个取消订单按钮。然后,当顾客点击这个按钮后,购物车将是空的,重定向到购物页面

我在模板中尝试了几件事,取消了订单 在模板
表单checkout.php


但我无法理解这一点。如何解决此问题?

在签出中,只有客户单击“下订单”后,订单对象才存在,因此您不能使用
取消订单()方法中的挂钩

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

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();
    }
}
add_action('woocommerce_-review_-order_-after_-submit','checkout_-reset_-button',10);
功能签出\重置\按钮(){
回声'

'; } 添加操作(“模板重定向”、“签出重置购物车”); 功能签出\重置\购物车(){ 如果(!is_admin()&&isset($_GET['cancel'])){ WC()->cart->empty_cart(); wp_重定向(get_permalink(wc_get_page_id('shop')); 退出(); } }

代码进入活动子主题(或活动主题)的function.php文件。已测试并正常工作。

在签出中,只有客户单击“下订单”后,订单对象才存在,因此您不能使用
取消订单()方法中的挂钩

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

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();
    }
}
add_action('woocommerce_-review_-order_-after_-submit','checkout_-reset_-button',10);
功能签出\重置\按钮(){
回声'

'; } 添加操作(“模板重定向”、“签出重置购物车”); 功能签出\重置\购物车(){ 如果(!is_admin()&&isset($_GET['cancel'])){ WC()->cart->empty_cart(); wp_重定向(get_permalink(wc_get_page_id('shop')); 退出(); } }

代码进入活动子主题(或活动主题)的function.php文件。已测试且有效。

@AndreasGrzybowski如果此答案回答了您的问题,请回答,谢谢。谢谢@LoicTheAztec!您的解决方案是完美的。@AndreasGrzybowski如果这个答案回答了您的问题,您可以请您回答,谢谢。谢谢@LoicTheAztec!你的解决方案是完美的。