douzi1991 2018-10-04 08:37
浏览 55
已采纳

使用URL中的订单ID将Woocommerce重定向到Php核心

I am working on two websites ( WordPress/Woocommerce and PHP core). I don't know what I want to do is possible or not but I need your suggestions.

I want to redirect customer after a purchase from Woocommerce to PHP core website including the Order ID in the URL.

Is this possible or there is any other way to accomplish this task?

  • 写回答

1条回答 默认 最新

  • dtxs9017 2018-10-04 09:57
    关注

    You can use Wordpress dedicated template_redirect hook to make a redirection after a purchase and pass any order data through the url like in this example:

    add_action( 'template_redirect', 'order_received_redirection' );
    function order_received_redirection() {
        // Only on "Order received" page
        if( is_wc_endpoint_url('order-received') ) {
            global $wp;
            $order_id  = absint( $wp->query_vars['order-received'] );
            $order = wc_get_order($order_id);
            $key = isset( $_GET['key'] ) ? wc_clean( $_GET['key'] ) : $order->get_order_key();
            $total = $order->get_total();
    
            // HERE BELOW Set your redirection url
            $url_redirect = 'http://www.my-domain.com/?orderid='.$order_id . '&key=' . $key . '&total=' . $total;
    
            // Redirect 
            wp_redirect( $url_redirect );
            exit(); // Always exit
        }
    }
    

    Code goes in function.php file of your active child theme (active theme). Tested and works.

    Related: How to get WooCommerce order details

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?