在下订单后,强制Woocommerce打开thankyou页面

时间:2017-11-03 09:09:42

标签: wordpress woocommerce checkout hook-woocommerce

我想在客户下订单后立即添加操作(将订单明细推送到api) 我使用woocommerce_thankyou hook添加我的自定义脚本 但它始终显示订单收到页面而不是谢谢页面 请告诉我解决这个问题的方法。 这是我的代码:

add_action('woocommerce_thankyou', 'push_order', 1, 1);
function push_order($order_id) {
    try {
        $logger = new WC_Logger();
        $logger->add("push-order-to-sap", "Start pushing order id: {$order_id}");
        $order = wc_get_order($order_id);
        $xml = order_mapping($order);
        die;
        $push = call_api(
            <endpoint>,
            $xml,
            'order'
        );
        $logger->add("push-order-to-sap", "Pushing result: {$push}");
    } catch (Exception $e) {
        $logger->add("push-order-to-sap", "ERROR: ".$e->getMessage());
    }
    return;
}

1 个答案:

答案 0 :(得分:0)

晚安

我希望我的回答可以帮助您解决问题,

add_action( 'woocommerce_thankyou', 'custom_redirect'); 

function custom_redirect( $order_id ){
  $order = new WC_Order( $order_id );
  $url = 'http://yoursite.com/custom-url';
  if ( $order->status != 'failed' ) {
      wp_redirect($url);
      exit;
    }
  }