php - 如果我不需要得到回复,如何使用Wordpress wp_remote_post?

标签 php wordpress contact-form-7

使用 wp_remote_post 将表单数据(联系表单 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()
));

最佳答案

我认为这里缺少方法,请添加方法并尝试

   $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>';
}

关于php - 如果我不需要得到回复,如何使用Wordpress wp_remote_post?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52041684/

相关文章:

php - 我可以在 PHP 中重载数组下标运算符吗?

php - 使用坐标对查找半径的存储过程

php - 一种更简单的方法来删除字符第一次出现之前的所有内容,包括首次出现的字符?

wordpress - 使用高级自定义字段Wordpress静音视频

wordpress - 如何在不发送电子邮件的情况下提交联系表?

jquery - 根据在联系表 7 的表单字段中的下拉列表中选择的选项将用户重定向到不同的感谢页面(3 个选项到 3 个感谢页面)

PHP正则表达式

php - 如何为某些帖子创建有效的内容过滤器?

wordpress - 我们可以在Wordpress中将帖子嵌套在帖子下面吗

javascript - 如何使用 Jquery 检查 2 Contact Form 7 复选框输入是否已选中?