У меня есть форма Ninja Forms, в которой запрашивается адрес электронной почты и флажок для подписки. После того, как пользователь отправит заявку, он открывает всплывающее окно с последующей формой (с использованием плагина Popup Maker), где пользователя просят ввести дополнительные (необязательные) данные. Поскольку в последующей форме есть собственная таблица отправки, я хотел бы передать адрес электронной почты первой формы во всплывающую дополнительную форму, чтобы пользователю не приходилось вводить ее снова. В идеале он сохраняет всю эту информацию только в одной таблице отправки, но я полагаю, что Ninja Forms не сконструированы таким образом (?).
Используя хуки обработки отправки (http://developer.ninjaforms.com/codex/submission-processing-hooks/), я добавил следующий код в functions.php темы:
add_action( 'ninja_forms_after_submission', 'ninja_forms_save_email_to_cookie' );
function ninja_forms_save_email_to_cookie( $form_data ){
$cookie_name = "nl_email";
$cookie_value = $form_data;
setcookie($cookie_name, $cookie_value); // Session cookie.
}
Но cookie не сохраняется.
Для дополнительной формы у меня есть это в теме functions.php, которая должна заполнить скрытое поле формы (ключ поля - email_1519816442526) значением cookie перед выполнением любой другой обработки последующей формы:
add_filter( 'ninja_forms_submit_data', 'ninja_forms_submit_followup' );
function ninja_forms_submit_followup( $form_data ) {
$cookie_name = "nl_email";
if (!isset($_COOKIE[$cookie_name]) && $form_data['id'] == 2) {
$form_data['fields']['email_1519816442526']['value'] = $_COOKIE[$cookie_name]; // Update the submitted field value.
}
return $form_data;
}
Подходят ли хуки отправки для интеграции этой функции? Или это лучше сделать через Custom Action? Определены ли настраиваемые действия в functions.php или где-то еще? Я не смог найти информацию об этом в документации Ninja Forms.
Хорошо, я отредактировал свой вопрос. Я не прошу, чтобы эту работу выполнял кто-либо. Я просто хотел бы знать, на правильном ли я пути.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если обе формы появляются одна за другой, а браузер не покидает сайт, вы сможете получить электронное письмо первой формы и поместить его во вторую форму с помощью JavaScript. Нам нужно будет установить Wordpress и оба плагина, чтобы рассказать вам, как это сделать, то есть в основном делать вашу работу за вас, поэтому я пока оставлю все как есть.