处理忍者表单邮件正文
Manipulate ninja forms mail body
如何根据用户的输入操作 ninja forms (3) 邮件正文?
示例:
用户填写zipcode
字段,我不想将数据添加到最近商店的邮件正文中。
我发现的唯一有用的过滤器是“ninja_forms_submit_data
”。但它 returns 只有字段 ID 和用户输入。
我需要一个字段键,以便我可以将其用作参考。
有一个名为 ninja_forms_action_email_message
的过滤器,可用于自定义电子邮件正文。源代码是 here.
过滤器具有三个参数:
$message
这是当前电子邮件正文的 (HTML) 字符串
$data
表单数据(包括关于表单和用户提交的数据)
$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);
如何根据用户的输入操作 ninja forms (3) 邮件正文?
示例:
用户填写zipcode
字段,我不想将数据添加到最近商店的邮件正文中。
我发现的唯一有用的过滤器是“ninja_forms_submit_data
”。但它 returns 只有字段 ID 和用户输入。
我需要一个字段键,以便我可以将其用作参考。
有一个名为 ninja_forms_action_email_message
的过滤器,可用于自定义电子邮件正文。源代码是 here.
过滤器具有三个参数:
$message
这是当前电子邮件正文的 (HTML) 字符串$data
表单数据(包括关于表单和用户提交的数据)$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);