В процессе разработки сайтов на WordPress часто возникает необходимость оптимизировать формы — будь то регистрация, комментарии или контактные формы. Неиспользуемые поля снижают удобство пользователей и могут негативно влиять на конверсию. В этой статье мы подробно рассмотрим, как удалить ненужные поля в различных формах WordPress, используя как стандартные хуки, так и популярные плагины.
Удаление полей из стандартной формы регистрации WordPress
Стандартная форма регистрации WordPress содержит поля: имя пользователя, email и пароль. Иногда требуется убрать или изменить дополнительные поля, если вы добавляли их ранее с помощью плагинов или кастомного кода.
Чтобы удалить дополнительные поля, можно воспользоваться фильтром register_form и действием на валидацию.
Пример функции, которая убирает поле «Имя» (first_name), если оно было добавлено:
function wpmoney_remove_first_name_field() {
// Переопределяем форму регистрации без поля first_name
// Если поле добавлялось через register_form, просто не выводите его
}
add_action('register_form', 'wpmoney_remove_first_name_field');Если форма была расширена плагином, лучше посмотреть в его настройках или использовать фильтры именно этого плагина.
Удаление полей из формы комментариев WordPress
В форме комментариев по умолчанию выводятся поля имени, email и сайта. Чтобы убрать, например, поле сайта, добавьте такой код в functions.php вашей темы:
function wpmoney_remove_comment_fields($fields) {
if(isset($fields['url'])) {
unset($fields['url']);
}
return $fields;
}
add_filter('comment_form_default_fields', 'wpmoney_remove_comment_fields');Этот простой трюк помогает улучшить UX и уменьшить спам, так как поле сайта часто используется спамерами.
Удаление поля «Телефон» из формы комментариев с плагином Contact Form 7
Если вы используете плагин Contact Form 7, то поля форм редактируются в админке. Чтобы убрать поле, просто удалите соответствующую строку с тегом [tel] или аналогичным. Пример:
[text* your-name]
[email* your-email]
<!-- Удалено поле телефона -->
[textarea your-message]Если нужно программно удалить поле или изменить форму, можно воспользоваться хуком wpcf7_form_elements.
Удаление полей из пользовательских форм с помощью плагина Clearfy Pro
Плагин Clearfy Pro позволяет удобно управлять оптимизацией сайта, в том числе упрощать формы, отключая ненужные поля и скрипты.
Для удаления полей в регистрационных формах Clearfy Pro предлагает модуль «Оптимизация форм», где можно быстро отключить поля, влияющие на скорость и UX, без написания кода.
Удаление неиспользуемых полей в WooCommerce
WooCommerce добавляет множество полей в формы регистрации и оформления заказа. Чтобы убрать лишние поля из формы оформления, используйте фильтр wpmoney_woocommerce_checkout_fields:
function wpmoney_remove_checkout_fields($fields) {
// Удаляем поле Company
unset($fields['billing']['billing_company']);
// Убираем поле адрес 2
unset($fields['billing']['billing_address_2']);
return $fields;
}
add_filter('woocommerce_checkout_fields', 'wpmoney_remove_checkout_fields');Этот код помогает сделать форму короче и удобнее для покупателя.
Удаление дополнительных полей с помощью плагина WPMoney
Если вы используете плагин WPMoney для управления монетизацией и подписками, в нем также есть возможность настраивать поля форм подписки и регистрации, удаляя ненужные.
Удаление пользовательских полей с помощью кода и хуков
Если в вашей теме или плагинах добавляются пользовательские метаполя в формы, их удаление требует изучения кода, который их добавляет. Обычно это функции, использующие хуки add_action('register_form'), add_action('woocommerce_edit_account_form') или подобные.
Чтобы удалить поле, можно переопределить функцию вывода или использовать фильтр, возвращающий массив полей, и просто убрать нужный элемент.
Пример удаления пользовательского поля в форме регистрации:
function wpmoney_remove_custom_registration_field($fields) {
if(isset($fields['custom_field'])) {
unset($fields['custom_field']);
}
return $fields;
}
add_filter('wpmoney_custom_registration_fields', 'wpmoney_remove_custom_registration_field');Обратите внимание, что название фильтра зависит от того, как реализовано добавление поля.
Советы по оптимизации форм и UX при удалении полей
При удалении полей важно не только убрать лишние элементы, но и проверить, как это влияет на логику работы сайта. Например, если поле было обязательным для плагина или CRM, его удаление может вызвать ошибки.
Рекомендуется:
- Тестировать формы после изменений на всех устройствах.
- Обновлять валидацию и обработку данных в коде.
- Использовать плагины, которые позволяют гибко настраивать формы без кода, например, Clearfy Pro.
- Проводить A/B тестирование форм для оценки влияния изменений на конверсию.
Такой подход обеспечит удобство пользователей и стабильную работу сайта.