2

我正在尝试使用我客户的 WordPress 网站的 functions.php 文件中的 gform_after_submission 挂钩将此信息字符串发送到第三方 API(此 url 由第三方客户端提供,我需要将其与每个注册匹配): 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 = 用户名
  • p = 密码(暂时设置为“test”)
  • g = 性别

当我用相关的用户信息填写完整的 url 时,一切正常,我可以登录到在线应用程序。我无法让我的 Gravity Forms 注册表单正确发布阵列。

如果你们都能为我指明正确的道路,我将不胜感激。

4

1 回答 1

0

您的代码示例显示您正在使用 POST http 方法而不是 GET 方法。我建议您按照示例中所示构建 URL,然后使用完全构建的 url 执行 WP_Http 请求。或者,您可以先尝试 $request->get 看看是否可行。

于 2013-10-11T19:34:40.170 回答