【发布时间】:2018-06-26 11:11:30
【问题描述】:
发送外部送货服务的订单后,我想设置对其状态的检查。如果他的状态发生了变化,请在 Woocommerce 中进行更改。
我已设置将订单数据发送到外部送货服务。
add_action('woocommerce_thankyou', 'send_order_to_shiping');
function send_order_to_shiping( $order_id ){
$order = wc_get_order( $order_id );
$order_data = $order->get_data();
// Get order details
$parametr['sale_amount'] = $order_data['discount_total'];
$parametr['street'] = $order_data['billing']['address_1'];
$parametr['home'] = $order_data['billing']['address_2'];
$order_id = $order_data['id'];
foreach ($parametr as $key => $value){
$data .= "¶metr[".$key."]=".$value."";
}
// Send data
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://app.example.com/api/index.php?new_order");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
}
当我发送订单时(例如 id 555)我得到了答案echo $result;:
来自送货服务的 id_order - 7273896。
echo $result;显示:
{"result":"success","order_id":7273896,"order_number":10}
所以我在 Woocommerce 中有订单 ID - 555,在送货服务中有订单 ID 7273896。
从逻辑上讲,我需要将其保存在订单元数据中,并使用此数据单独进行状态检查。
【问题讨论】:
标签: php wordpress woocommerce woocommerce-rest-api