В работе с WordPress нередко возникает задача автоматизировать обработку форм обратной связи, заявок или заказов. Существует множество плагинов для создания форм, но часто недостаточно просто собрать данные — нужно правильно их обработать, сохранить и интегрировать с другими сервисами. В этой статье рассмотрим, как это сделать на примере популярного решения WPRemark, которое позволяет создавать формы и настраивать их обработку без лишнего кода, а также добавим примеры кастомизации с PHP.
Почему стоит использовать WPRemark для обработки форм в WordPress
WPRemark — это удобный плагин для создания и управления формами с возможностями автоматизации. Его преимущества:
- Интуитивный визуальный конструктор форм.
- Возможность отправки данных на email, в базу данных и интеграции с CRM.
- Гибкие настройки уведомлений и подтверждений.
- Расширяемость за счёт хуков и фильтров.
Это решение хорошо подходит для сайтов, которым нужно быстро и надежно собирать информацию от пользователей и автоматически её обрабатывать.
Создание формы и базовая настройка обработки в WPRemark
Для начала установите и активируйте плагин WPRemark из репозитория WordPress или скачав с сайта wpshop.ru.
Далее:
- Перейдите в раздел «WPRemark» в админке и создайте новую форму.
- Добавьте необходимые поля: имя, email, телефон, сообщение и др.
- Настройте обработку — выберите куда отправлять данные: email, база данных, внешние сервисы.
- Установите уведомления и сообщения для пользователя после отправки.
Это базовая настройка, которая подходит для большинства задач, но при необходимости можно кастомизировать обработку.
Кастомизация обработки форм через хуки WPRemark
WPRemark предоставляет хуки, позволяющие изменить логику обработки данных, например, для валидации или интеграции с внешними API.
Рассмотрим пример, как добавить проверку поля перед сохранением и отправкой письма. Добавьте в functions.php вашей темы или в плагин следующий код:
function wpshab_wpremark_validate_phone($form_data) {
if (!preg_match('/^\+7\d{10}$/', $form_data['phone'])) {
return new WP_Error('invalid_phone', 'Введите телефон в формате +7XXXXXXXXXX');
}
return true;
}
add_filter('wpremark_before_send', 'wpshab_wpremark_validate_phone');Здесь мы проверяем, что поле phone соответствует российскому формату +7XXXXXXXXXX. Если формат неверный, обработка прерывается с ошибкой.
Автоматическая запись заявок в отдельный тип записей
Иногда нужно не просто отправить email, а сохранить заявки в базе для дальнейшей обработки. WPRemark позволяет создавать кастомные типы записей, куда можно сохранять данные автоматически.
Добавим код для сохранения заявки в кастомный тип записи wpshab_lead:
function wpshab_wpremark_save_lead($form_data) {
$post_id = wp_insert_post(array(
'post_title' => sanitize_text_field($form_data['name']),
'post_content' => sanitize_textarea_field($form_data['message']),
'post_type' => 'wpshab_lead',
'post_status' => 'publish',
));
if (!is_wp_error($post_id)) {
update_post_meta($post_id, '_phone', sanitize_text_field($form_data['phone']));
update_post_meta($post_id, '_email', sanitize_email($form_data['email']));
}
}
add_action('wpremark_after_submit', 'wpshab_wpremark_save_lead');Для этого создайте тип записи с помощью следующего кода:
function wpshab_register_lead_cpt() {
register_post_type('wpshab_lead', array(
'labels' => array(
'name' => 'Заявки',
'singular_name' => 'Заявка',
),
'public' => false,
'show_ui' => true,
'supports' => array('title', 'editor'),
));
}
add_action('init', 'wpshab_register_lead_cpt');<Интеграция WPRemark с внешними сервисами через API
Для автоматизации маркетинга и продаж полезно интегрировать формы с CRM, почтовыми рассылками и другими сервисами.
WPRemark позволяет выполнять произвольные запросы к API в момент отправки формы. Например, отправим данные заявки в CRM:
function wpshab_send_lead_to_crm($form_data) {
$response = wp_remote_post('https://crm.example.com/api/leads', array(
'body' => json_encode(array(
'name' => $form_data['name'],
'email' => $form_data['email'],
'phone' => $form_data['phone'],
'note' => $form_data['message'],
)),
'headers' => array('Content-Type' => 'application/json'),
));
if (is_wp_error($response)) {
error_log('Ошибка отправки в CRM: ' . $response->get_error_message());
}
}
add_action('wpremark_after_submit', 'wpshab_send_lead_to_crm');Такой подход позволяет полностью автоматизировать процесс обработки заявок и снизить нагрузку на менеджеров.
Преимущества автоматизации обработки форм для сайта на WordPress
Автоматизация обработки форм с помощью WPRemark и кастомных решений даёт ряд преимуществ:
- Снижение ошибок при ручном вводе данных.
- Ускорение обработки заявок и повышение качества сервиса.
- Гибкость настройки под любые задачи — от простых контактов до сложных воронок продаж.
- Возможность масштабирования и интеграции с внешними системами.
Если вы хотите попробовать WPRemark для своего сайта, скачайте плагин с официального сайта wpshop.ru и начните создавать удобные формы уже сегодня.