簡體   English   中英

在結帳時添加一個按鈕以清空購物車並重定向到Woocommerce中的商店頁面

[英]Add a button in checkout to empty cart and redirect to shop page in Woocommerce

我想在Woocommerce的結帳按鈕后面/下面有一個取消訂單按鈕。 然后在客戶點擊此按鈕后,購物車將為空,重定向到商店頁面。

我使用模板form-checkout.php的woocommerce_cancelled_order在模板中嘗試了幾個方法。

但我無法弄清楚這一點。 我怎樣才能解決這個問題?

在結帳時, 訂單對象在客戶點擊“下訂單”之前不存在,因此您無法使用位於cancel_order()方法中的hook 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文件中。 經過測試和工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM