WPForms — один из самых популярных плагинов для создания форм на WordPress. Он позволяет не только быстро создавать контактные формы, но и гибко настраивать уведомления, которые отправляются после отправки формы. Часто возникает задача сделать шаблоны писем более персонализированными: добавить уникальные данные пользователя, изменить структуру письма, вставить динамические поля и даже использовать условную логику для разных получателей.
Почему стоит создавать персонализированные шаблоны писем в WPForms
Стандартные уведомления WPForms зачастую выглядят шаблонно и не содержат всей необходимой информации. Персонализация писем помогает:
- Улучшить взаимодействие с пользователем — письмо выглядит более дружелюбным и релевантным;
- Добавлять в письмо именно те данные, которые нужны для обработки заявки;
- Создавать условия отправки различных вариантов писем в зависимости от выбора пользователя;
- Оптимизировать работу службы поддержки, добавляя в письма технические данные и ID формы;
- Повысить эффективность email-рассылок, сделав их более целевыми.
Как устроены уведомления в WPForms: обзор возможностей
В WPForms каждое уведомление — это набор полей: получатель, тема, сообщение, дополнительные заголовки. В поле сообщения можно использовать переменные, которые подставляют данные из формы. По умолчанию WPForms поддерживает простую подстановку через метки типа {field_id}.
Однако стандартный редактор писем не всегда позволяет создать гибкие шаблоны. Здесь на помощь приходят хуки и фильтры WPForms, которые дают возможность программно менять содержимое письма.
Основные фильтры для кастомизации письма
wpforms_process_email— позволяет изменить все параметры письма перед отправкой.wpforms_email_message— изменяет тело письма.wpforms_email_subject— для изменения темы письма.
Использование этих фильтров требует базового понимания PHP и архитектуры WPForms.
Пример: создание кастомного шаблона письма с динамическими данными
Рассмотрим пример, как изменить тело письма, чтобы добавить персональное приветствие и дополнительную информацию о выбранной услуге из формы.
add_filter('wpforms_email_message', 'wpformsru_custom_email_message', 10, 3);
function wpformsru_custom_email_message($message, $fields, $form_data) {
// Получаем имя пользователя из поля с ID 1
$name = isset($fields[1]) ? $fields[1]['value'] : 'Пользователь';
// Получаем выбранную услугу из поля с ID 3
$service = isset($fields[3]) ? $fields[3]['value'] : 'услуга не выбрана';
// Формируем новое тело письма
$custom_message = "Здравствуйте, " . esc_html($name) . ",\n\n";
$custom_message .= "Спасибо за вашу заявку на " . esc_html($service) . ".\n";
$custom_message .= "Мы свяжемся с вами в ближайшее время.\n\n";
$custom_message .= "Детали вашей заявки:\n";
// Добавляем остальные поля из формы
foreach ($fields as $field_id => $field) {
if ($field_id != 1 && $field_id != 3) {
$custom_message .= esc_html($field['name']) . ": " . esc_html($field['value']) . "\n";
}
}
return $custom_message;
}
В этом примере мы создаем приветствие с именем пользователя и указываем выбранную услугу, затем добавляем остальные поля формы для полного отчета. Такой шаблон подходит для уведомлений администратора или пользователя.
Настройка темы письма с учетом данных формы
Чтобы сделать тему письма более информативной и динамичной, можно использовать фильтр wpforms_email_subject:
add_filter('wpforms_email_subject', 'wpformsru_custom_email_subject', 10, 3);
function wpformsru_custom_email_subject($subject, $fields, $form_data) {
// Получаем имя пользователя
$name = isset($fields[1]) ? $fields[1]['value'] : '';
// Получаем дату заявки
$date = date('d.m.Y H:i');
// Формируем тему
$new_subject = "Новая заявка от " . esc_html($name) . " - " . $date;
return $new_subject;
}
Такое изменение поможет быстрее ориентироваться в списке писем для обработки.
Условная логика в шаблонах писем: отправка разных шаблонов по выбору пользователя
Можно отправлять разные письма в зависимости от выбора пользователя, например, если в форме есть поле с выбором услуги:
add_filter('wpforms_process_email', 'wpformsru_conditional_email_template', 10, 4);
function wpformsru_conditional_email_template($email, $fields, $entry, $form_data) {
$service = isset($fields[3]) ? $fields[3]['value'] : '';
if ($service === 'Консультация') {
$email['message'] = "Спасибо за запрос на консультацию! Мы свяжемся с вами в течение 24 часов.";
$email['subject'] = "Запрос на консультацию от " . $fields[1]['value'];
} elseif ($service === 'Техническая поддержка') {
$email['message'] = "Ваша заявка в службу технической поддержки принята. Ожидайте ответа.";
$email['subject'] = "Техподдержка: новая заявка от " . $fields[1]['value'];
}
return $email;
}
Это позволяет создавать гибкие сценарии отправки писем без необходимости создавать несколько форм.
Использование плагинов для расширения возможностей писем WPForms
Если хочется расширить функционал без программирования, можно использовать плагины для шаблонов писем и интеграций. Вот несколько полезных решений:
- Clearfy Pro — оптимизация и расширение WPForms, включая управление уведомлениями;
- Expert Review — позволяет настраивать шаблоны писем и обзоры с динамическим контентом;
- WPRemark — комплексное управление комментариями и уведомлениями, можно использовать для улучшения писем.
Советы по улучшению шаблонов писем WPForms
Чтобы ваши письма были эффективными и удобными, учитывайте следующие рекомендации:
- Используйте HTML-форматирование для улучшения читаемости — WPForms поддерживает HTML в теле письма;
- Добавляйте ссылки на полезные страницы сайта, чтобы пользователь мог быстро получить необходимую информацию;
- Тестируйте шаблоны на разных почтовых клиентах, чтобы убедиться, что письмо корректно отображается;
- Используйте фильтры WPForms для внедрения собственной логики и дополнительных данных;
- Соблюдайте GDPR и другие требования к обработке персональных данных, не отправляйте излишнюю информацию.
Заключение
Персонализация шаблонов писем в WPForms — важный этап улучшения взаимодействия с пользователями и автоматизации работы с заявками. Используя встроенные фильтры и хуки WPForms, а также дополнительные плагины, можно создать гибкие, информативные и красивые письма, которые повысят лояльность клиентов и качество обслуживания.