gform_after_submission发布到第三方API

时间:2013-10-11 19:31:16

标签: php wordpress

我正在尝试使用客户端WordPress网站的functions.php文件中的gform_after_submission挂钩将此字符串信息发送给第三方API(此网址由第三方客户端提供,我需要匹配它每次注册): https://thirdpartywebsite.com/api_addNewProfile.php?gid=yourGroupID&fn=John&mi=E&ln=Doe&un=john@email.com&p=testpw&g=Male

这是我在functions.php文件中设置的内容:

add_action('gform_after_submission', 'post_to_third_party', 10, 2);
function post_to_third_party($entry, $form) {

    $post_url = 'https://thirdpartywebsite.com/api_addNewProfile.php';
    $body = array(
        'gid' => "yourGroupID",
        'fn' => $entry['1.3'],
        'mi' => "",
        'ln' => $entry['1.6'],
        'un' => $entry['2'],
        'p' => "test",
        'g' => $entry['3']
    );

    $request = new WP_Http();
    $response = $request->post($post_url, array('body' => $body));
}

我正在使用GF用户注册插件,所以当新会员在我的客户网站上注册时,他们会设置用户名和密码登录他们的个人资料页面,他们应该能够登录到第三方在线应用程序。他们通过注册表单设置的用户名和密码完全相同。

供参考:

  • fn =名字
  • mi =中间首字母(我现在只想为中间首字母传递一个空格)
  • ln =姓氏
  • un = username
  • p =密码(暂时设置为“测试”)
  • g =性别

当我用相关的用户信息填写完整的网址时,一切正常,我可以登录在线申请。我无法获得我的Gravity Forms注册表单以正确发布数组。

如果你们都能指出我正确的道路,我将非常感激。

1 个答案:

答案 0 :(得分:0)

您的代码示例显示您使用的是POST http方法而不是GET方法。我建议您在示例中显示URL,并使用完全构建的URL执行WP_Http请求。或者,您可以尝试$ request->先获取并查看是否有效。