2013-10-11 40 views
2

我想在客戶端的WordPress網站的functions.php文件中使用gform_after_submission掛鉤將此字符串信息發送給第三方API(此URL由第三方客戶端提供我需要與每一個註冊匹配它): https://thirdpartywebsite.com/api_addNewProfile.php?gid=yourGroupID&fn=John&mi=E&ln=Doe&[email protected]&p=testpw&g=Malegform_after_submission發佈到第三方API

這是我建立我的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 =姓氏
  • 聯合國=用戶名
  • p =密碼(此刻設置爲「測試」)
  • g =性別

當我用相關的用戶信息填寫完整的url時,所有的工作都沒有任何問題,我可以登錄到在線應用程序。我一直無法讓我的Gravity Forms註冊表格正確地發佈數組。

如果你們都可以指出我的正確道路,我將不勝感激。

回答

0

您的代碼示例顯示您正在使用POST http方法而不是GET方法。我建議你像你在示例中顯示的那樣構建URL,並且只需使用完全構建的URL執行WP_Http請求。或者,你可以嘗試一個$ request->先獲得,看看是否有效。