使用wp_remote_post
将表单数据(Contact Form 7
)发送到外部API(CRM)。 API很繁重(检查电子邮件,确认信等),所以我不希望PHP在等待响应时阻止任何进程(我根本不需要响应,只需发送即可)。
即使使用'blocking' => false
,它仍然可以实现-如果我在外部API上激活确认电子邮件,则Wordpress用户需要等待几秒钟才能处理表单。
我在做什么错? :)代码:
// POST-request to API
wp_remote_post('http://crm.site.com/get_record', array(
'timeout' => 5,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => false,
'headers' => array() ,
'body' => $send_data,
'cookies' => array()
));
答案 0 :(得分:3)
我认为这里缺少方法,请添加方法并尝试
$response = wp_remote_post('http://crm.site.com/get_record', array(
'method' => 'POST',
'timeout' => 5,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => false,
'headers' => array() ,
'body' => $send_data,
'cookies' => array()
));
并检查响应:
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
echo "Something went wrong: $error_message";
} else {
echo 'Response:<pre>';
print_r( $response );
echo '</pre>';
}