Манипулировать телом почты ниндзя

Как я могу манипулировать телом почты ninja forms (3), основываясь на вводе пользователя?

пример:

Пользователь заполняет zipcode поле, и я не хочу добавлять данные в тело письма ближайшего магазина.

Единственный полезный фильтр, который я нашел, это «ninja_forms_submit_dataMsgstr «Но он возвращает только идентификаторы полей и пользовательский ввод.

Мне нужен ключ поля, чтобы я мог использовать его в качестве ссылки.

1

Решение

Там есть фильтр с именем ninja_forms_action_email_message это можно использовать для настройки тела письма. Исходный код Вот.

Фильтр имеет три аргумента:

  1. $message Это (HTML) строка текущего тела письма
  2. $data Данные формы (включая данные о форме и представлении пользователя)
  3. $action_settings Параметры для отправки электронного письма (на адрес и т. Д.)

Пример:

function custom_email_body_content($message, $data, $action_settings) {
// You may want to check if the form needs to be customised here
// $data contains information about the form that was submitted
// Eg. if ($data[form_id]) === ...

// Convert the submitted form data to an associative array
$form_data = array();
foreach ($data['fields'] as $key => $field) {
$form_data[$field['key']] = $field['value'];
}

// Do something to the email body using the value of $form_data['zipcode']
// Maybe a str_replace of a token, or generate a new email body from a template

// Return the modified HTML email body
return $message;
}

add_filter('ninja_forms_action_email_message', 'custom_email_body_content', 10, 3);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]