我正在尝试将SMS API与woo-commerce整合到每个新订单中,但我不确定我在哪里做错了。我的任务是在客户通过Payment Gateway C.O.D(货到付款)下订单时向客户发送短信。以下是我正在使用的代码。谁能告诉我我做错了什么?
add_action('woocommerce_thankyou', 'custom_process_order', 10, 1);
function custom_process_order($order_id) {
$order = new WC_Order( $order_id );
$customer_id = $order->user_id;
$billing_phone = get_user_meta( $customer_id, 'billing_phone', true );
$data="userid=[userid]&pwd=[password]&msg=[msg]&mobileno=".$billing_phone;
$jsonurl = curl_init('http://b2bsms.telecard.com.pk/SMSPortal/Customer/ProcessSMS.aspx');
$json = curl($jsonurl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($json);
echo $result;
curl_close($json);
return $order_id;
}
错误消息是
PHP Fatal error: Call to undefined function curl()
答案 0 :(得分:0)
php中没有函数curl
,对curl_exec
的调用会运行http调用。您可以删除代码中的行$json = curl($jsonurl);
,并在目前使用$jsonurl
或$json
的任何地方使用句柄$ch
:
$jsonurl = curl_init('http://b2bsms.telecard.com.pk/SMSPortal/Customer/ProcessSMS.aspx');
curl_setopt($jsonurl, CURLOPT_POST, true);
curl_setopt($jsonurl, CURLOPT_POSTFIELDS, $data);
curl_setopt($jsonurl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($jsonurl);
echo $result;