В этой статье разберём, как добавить обязательное поле в форму для отзывов или обратной связи на WordPress с помощью популярного плагина WPRemark. Часто при сборе отзывов требуется, чтобы пользователь обязательно указал, например, свой email или номер телефона. По умолчанию WPRemark позволяет создавать формы, но валидация обязательных полей требует дополнительной настройки.
Почему важно использовать обязательные поля в формах WordPress
Обязательные поля помогают обеспечить качество вводимых данных и избежать пустых отзывов, которые ничего не дают владельцу сайта. Это особенно актуально для сайтов с отзывами, экспертными обзорами и другими интерактивными элементами, где нужна контактная информация или подтверждение определённых данных.
Без обязательных полей можно получить много мусорных или неполных отзывов, что снижает доверие к сайту и усложняет модерацию.
WPRemark из коробки поддерживает базовые поля, но для расширенной валидации и обязательности полей стоит использовать встроенные хуки и фильтры плагина.
Как добавить обязательное поле в форму WPRemark: пошаговое руководство
Добавим обязательное поле, например, телефон, в форму отзывов WPRemark и сделаем его обязательным для заполнения.
1. Добавление поля телефона в форму
Для начала добавим новое поле в форму вывода. WPRemark позволяет менять поля через хук wpremark_form_fields. Пример кода для functions.php вашей темы:
function expertreview_wpremark_add_phone_field($fields) {
$fields['phone'] = array(
'label' => 'Телефон',
'type' => 'text',
'placeholder' => 'Введите ваш телефон',
'required' => false // Пока false, сделаем обязательным ниже
);
return $fields;
}
add_filter('wpremark_form_fields', 'expertreview_wpremark_add_phone_field');
Этот код добавит поле «Телефон» в форму, но пока оно не обязательное.
2. Сделать поле телефона обязательным через валидацию
Для проверки заполненности поля используем хук wpremark_form_validate, который позволяет добавить свою логику валидации.
function expertreview_wpremark_validate_phone_required($errors, $data) {
if (empty($data['phone'])) {
$errors[] = 'Поле Телефон обязательно для заполнения.';
}
return $errors;
}
add_filter('wpremark_form_validate', 'expertreview_wpremark_validate_phone_required', 10, 2);
Теперь, если пользователь не заполнит телефон, форма вернёт ошибку и не отправится.
3. Сохранение и отображение нового поля в отзыве
Чтобы поле телефона сохранялось и отображалось в отзыве, нужно добавить его в метаданные отзыва и в шаблон вывода.
WPRemark автоматически сохраняет поля формы, если они объявлены. Но для вывода в шаблоне можно использовать функцию получения мета данных отзыва:
function expertreview_wpremark_display_phone($comment_text, $comment) {
$phone = get_comment_meta($comment->comment_ID, 'phone', true);
if ($phone) {
$comment_text .= '<p><strong>Телефон:</strong> ' . esc_html($phone) . '</p>';
}
return $comment_text;
}
add_filter('comment_text', 'expertreview_wpremark_display_phone', 10, 2);
Этот код добавит телефон в вывод текста комментария (отзыва) под самим комментарием.
Альтернативные плагины для создания форм с обязательными полями
Если вы ищете альтернативу WPRemark для создания форм с обязательными полями в WordPress, обратите внимание на следующие плагины:
- Contact Form 7 — популярный плагин с широкой кастомизацией и поддержкой обязательных полей.
- Gravity Forms — мощный плагин с визуальным конструктором форм и гибкой логикой.
- WPForms — удобный конструктор форм с возможностью создавать обязательные поля простым способом.
Для каждого из них обязательные поля добавляются через интерфейс или с помощью коротких кодов, что может быть удобнее, если вы не хотите писать код.
Практические советы по работе с обязательными полями в WPRemark
1. Используйте пользовательские сообщения об ошибках
Всегда выводите понятные пользователю сообщения об ошибках, чтобы он понимал, что именно нужно исправить. В нашем примере мы указали конкретно, что поле Телефон обязательно.
2. Проверяйте данные на стороне сервера и клиента
Хотя мы реализовали серверную валидацию, дополнительно можно добавить JavaScript-проверку для улучшения UX и сокращения количества ошибок.
3. Не усложняйте форму
Добавляйте обязательные поля только если они действительно нужны. Чем больше обязательных полей — тем выше вероятность, что пользователь откажется оставить отзыв.
Заключение
Добавление обязательного поля в форму WordPress с помощью WPRemark — типичная задача, решаемая при помощи хуков плагина. В статье мы подробно разобрали добавление поля, валидацию, сохранение и вывод данных. Такой подход помогает создавать качественные отзывы и собирать нужную информацию без использования сложных конструкторов.
Для подробностей и скачивания WPRemark посетите официальную страницу плагина.