[英]Force Woocommerce open thankyou page after Placed order
I want to add an action right after customers placed an order (push order detail to api) I'm using woocommerce_thankyou hook to add my custom scripts But It always shows Order received page instead of thankyou page Please tell me the way to resolve this. 我想在客户下订单后立即添加操作(将订单详细信息推送到api)我正在使用woocommerce_thankyou挂钩添加我的自定义脚本,但是它始终显示“已收到订单”页面而不是“谢谢”页面。请告诉我解决此问题的方法。 Here is my code:
这是我的代码:
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;
}
Good Evening 晚上好
May i hope my answer will help you to solve out your query, 我希望我的回答可以帮助您解决您的查询,
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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.