Gravity Forms отправка данных ввода из нескольких форм третьим лицам после отправки определенной формы
Я не знаком с крючками гравитационной формы. Я создал 2 формы процесса регистрации, которые отображаются в одном модальном, но вызываются в разных divs. Я хотел отправить эти данные из 2-х форм в стороннее приложение, используя gform_after_submission отправить данные записи третьей стороне после отправки определенной формы (последняя форма).
делаю так:add_action( 'gform_after_submission_2', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {
$post_url = 'http://thirdparty.com';
$body = array(
'first_name' => rgar( $entry, '1.3' ),
'last_name' => rgar( $entry, '1.6' ),
'message' => rgar( $entry, '3' ),
);
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
}
позволит мне получить поля ввода только из указанного идентификатора формы.
Как бы возможно, я также получу записи из других форм, чтобы я мог включить и опубликовать его на сторонний url?
спасибо заранее.
2 ответов
поскольку вы указываете идентификатор формы в самом add_action, вы выполняете свою функцию только при отправке гравитационной формы с идентификатором 2. Если вы хотите запустить его для нескольких представлений, но затем ограничить его конкретными идентификаторами формы, то что-то вроде этого:
add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {
if( $form->id == 2 || $form->id == somenumber ) {
$post_url = 'http://thirdparty.com';
$body = array(
'first_name' => rgar( $entry, '1.3' ),
'last_name' => rgar( $entry, '1.6' ),
'message' => rgar( $entry, '3' ),
);
$request = new WP_Http();
$response = $request->post( $post_url, array( 'body' => $body ) );
}
}
возможно, Вам придется использовать $form['id']
в случае, если вы не имеете дело с объектом. Один из них сработает. Недостатком является то, что вы должны знать идентификатор форм, с которыми хотите работать. Это легко найти в бэкэнде при просмотре таблицы форм, которые вы создали, но это то, что есть...
Если вы сохраняете данные формы в том же сообщении, возможно, вы можете получить дату на основе post id