簡體   English   中英

如何在處理 woocommerce 結帳訂單后重定向到感謝頁面

[英]How to redirect to thank you page after woocommerce checkout order processed

我正在嘗試在處理訂單后將訂單狀態更改為“已完成”並跳過付款頁面(轉到感謝頁面)。

到目前為止,我設法將訂單狀態更改為已完成,但我沒有將我重定向到感謝頁面,而是被重定向到付款頁面,並出現以下錯誤:

在此處輸入圖像描述

這是我使用的代碼:

add_filter( 'woocommerce_checkout_order_processed' , 'skip_join_payment' );
function skip_join_payment( $order_id ) {
     if ( ! $order_id ) {
        return;
    }
    if( $_COOKIE['isjoinForFree'] == "yes" ){
        $order = wc_get_order( $order_id );
        $order->update_status( 'completed' );

        ** i tried to redirect here but getting error on checkout page **
        // if ( $order->has_status( 'completed' ) ) {
                // header("Location: /jtnx/");
                // die();
        // } 


    }
}

另外我嘗試添加另一個帶重定向的鈎子:

add_action( 'woocommerce_payment_complete', 'skiped_join_payment_redirect', 1 ); 
function skiped_join_payment_redirect ( $order_id ){
    $order = wc_get_order( $order_id );
    if( $_COOKIE['isjoinForFree'] == "yes" ){
    $order = wc_get_order( $order_id );
    if ( $order->has_status( 'completed' ) ) {
            header("Location: /jtnx/");
            die();
        } 
    }
}

如果有人遇到此錯誤,那是我的解決方法。 重定向失敗的原因是結帳 ajax 仍在運行,我將此代碼添加到我的 function.php 中,效果很好。

add_action( 'template_redirect', 'joined_for_free_redirect_to_thankyou' );
    function joined_for_free_redirect_to_thankyou(){
        if( !is_wc_endpoint_url( 'order-pay' )) {
            return;
        }
        
        global $wp;
        $order_id =  intval( str_replace( 'join/order-pay/', '', $wp->request ) );
        $order = wc_get_order( $order_id );
        if ( $order->has_status( 'completed' ) && $_COOKIE['isjoinForFree'] == "yes" ) {
            wp_redirect( site_url() . '/jtnx/' );
            exit;
        } 
    }

如果有人認為他有更好的方法來修復它,我仍然會很高興聽到:)

嘗試以下步驟:

  1. header中使用絕對的完整目標頁面地址,如header('Location: http://www.example.com/'); . 原因見header
  2. 確保if( $_COOKIE['isjoinForFree'] == "yes" ) {為真。
  3. 如果需要,插入else {部分if( $_COOKIE['isjoinForFree'] == "yes" ) {循環

暫無
暫無

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

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