WooCommerce — мощный плагин для создания интернет-магазинов на базе WordPress. Однако с ростом ассортимента и настроек многие магазины сталкиваются с проблемой лишних полей в карточках товаров, на страницах оформления заказа и в профилях пользователей. Эти неиспользуемые поля могут замедлять работу сайта и усложнять пользовательский интерфейс. В этой статье разбираемся, как эффективно удалить или скрыть ненужные поля в WooCommerce, чтобы ускорить загрузку страниц и повысить удобство для пользователей.
Зачем удалять неиспользуемые поля в WooCommerce
Лишние поля увеличивают объем HTML, который браузер должен обработать, что влияет на скорость загрузки и отзывчивость интерфейса. Кроме того, они могут создавать путаницу для покупателей, снижая конверсию. Оптимизация структуры страниц через удаление ненужных полей улучшает UX и помогает поддерживать чистоту данных в базе.
Удаление полей позволяет оптимизировать:
- Карточки товаров — убрать ненужные мета-данные, атрибуты и дополнительные описания.
- Страницы оформления заказа — убрать поля, которые не нужны в вашем бизнес-процессе.
- Профили пользователей — ограничить отображение и ввод информации, если это не требуется.
Удаление полей из страницы оформления заказа
WooCommerce предлагает набор стандартных полей для оформления заказа. Если вы хотите убрать поля, например, company или order_comments, можно использовать следующий код, добавив его в файл functions.php вашей темы или в кастомный плагин.
function wpclean_remove_checkout_fields( $fields ) {
// Удаляем поле компании
unset( $fields['billing']['billing_company'] );
// Удаляем поле комментариев к заказу
unset( $fields['order']['order_comments'] );
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'wpclean_remove_checkout_fields' );
Этот код удалит указанные поля из формы оформления заказа. Можно добавить или убрать другие поля по аналогии, изучив структуру массива $fields.
Как узнать названия полей для удаления
Чтобы понять, какие поля доступны, временно добавьте в functions.php следующий код для вывода массива полей:
add_action( 'woocommerce_before_checkout_form', function() {
echo '<pre>';
print_r( WC()->checkout()->get_checkout_fields() );
echo '</pre>';
} );
После просмотра полей удалите этот код, чтобы не показывать массив на сайте.
Удаление дополнительных атрибутов и полей в карточках товара
WooCommerce позволяет добавлять атрибуты и пользовательские поля для товаров. Если в вашем магазине есть неиспользуемые атрибуты, которые выводятся на странице товара и замедляют загрузку, их можно убрать программно.
Для удаления вывода атрибутов на странице товара добавьте такой код:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
Если вы хотите оставить часть атрибутов, а удалить только определённые, можно отфильтровать вывод их в шаблоне или создать отдельный шаблон с нужной логикой.
Удаление пользовательских полей (custom fields) из вывода
Пользовательские поля, добавленные через add_post_meta или плагины, могут выводиться в шаблонах. Чтобы убрать вывод конкретных meta ключей, можно использовать фильтр get_post_metadata с проверкой:
function wpclean_filter_product_meta( $value, $post_id, $meta_key, $single ) {
$fields_to_hide = array('unused_field_1', 'unused_field_2');
if ( in_array( $meta_key, $fields_to_hide ) ) {
return false; // или null, чтобы скрыть поле
}
return $value;
}
add_filter( 'get_post_metadata', 'wpclean_filter_product_meta', 10, 4 );
Это решение универсально и позволяет контролировать вывод данных без удаления из базы.
Скрытие неиспользуемых полей в профиле пользователя WooCommerce
В профиле пользователя WooCommerce есть поля, которые не всегда нужны (например, телефон, адрес и др.). Их можно скрыть, чтобы не загромождать интерфейс и снизить нагрузку на формы.
Пример кода для удаления поля телефона из профиля пользователя:
function wpclean_remove_phone_field_from_account( $fields ) {
unset( $fields['billing_phone'] );
return $fields;
}
add_filter( 'woocommerce_billing_fields', 'wpclean_remove_phone_field_from_account' );
Такой подход помогает упростить интерфейс и ускорить обработку данных при сохранении профиля.
Использование плагинов для удаления полей
Если вы не хотите работать с кодом, рекомендуем обратить внимание на плагины, которые позволяют управлять полями WooCommerce визуально:
- Clearfy Pro — обладает функцией оптимизации WooCommerce, включая возможность отключения ненужных полей.
- WPGPT — можно настроить автоматизацию работы с полями через ИИ.
Эти инструменты позволяют быстро и безопасно управлять полями, не рискуя ошибками в коде.
Рекомендации по тестированию изменений
После удаления полей обязательно проверьте:
- Корректность оформления заказа — чтобы не пропали обязательные поля.
- Работу шаблонов — чтобы не возникало ошибок вывода.
- Админ-панель — чтобы не усложнять управление товарами и заказами.
Лучше тестировать на копии сайта или локальной среде, чтобы избежать сбоев в работе магазина.
Итог
Удаление неиспользуемых полей в WooCommerce — важный шаг не только для повышения производительности сайта, но и для улучшения опыта пользователей. Используйте приведённые примеры кода для тонкой настройки страниц оформления заказа, карточек товаров и профилей пользователей. Если код кажется сложным, обратитесь к профессиональным плагинам, таким как Clearfy Pro, которые помогут быстро оптимизировать ваш магазин без риска ошибок.