wpclean.ru wordpress WPClean.ru

Как удалить неиспользуемые поля в WooCommerce для оптимизации сайта

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, которые помогут быстро оптимизировать ваш магазин без риска ошибок.

×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙