gform_after_submission Сообщение для стороннего API

Я пытаюсь использовать gform_after_submission hook в файле functions.php веб-сайта моего клиента WordPress для отправки этой строки информации в сторонний 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 = пароль (на данный момент установлен «тест»)
  • g = пол

Когда я заполняю полный URL-адрес соответствующей информацией пользователя, все работает без каких-либо проблем, и я могу войти в онлайн-приложение. Я не смог получить регистрационную форму Gravity Forms для правильной публикации массива.

Если бы вы все могли указать мне на правильный путь, я бы очень признателен.

В вашем примере кода показано, что вы используете метод POST http вместо метода GET. Я предлагаю вам создать URL-адрес, как показано в вашем примере, и просто выполнить запрос WP_Http с полностью построенным URL-адресом. Или вы можете попробовать $ request-> получить сначала и посмотреть, работает ли это.