WooCommerce предоставляет множество стандартных полей для описания продуктов, таких как описание, артикул, цена, вес, размеры и т.д. Однако при создании интернет-магазина зачастую возникает необходимость убрать или скрыть те поля, которые не нужны или редко используются, чтобы упростить интерфейс для администраторов и сделать оформление товара более понятным. В этой статье мы подробно рассмотрим, как удалить или скрыть редко используемые поля продукта WooCommerce программно и с помощью плагинов.
Почему важно убирать редко используемые поля в WooCommerce
Стандартный редактор продуктов WooCommerce содержит много полей, которые могут не соответствовать специфике вашего магазина. Например, если вы продаёте цифровые товары, поля, связанные с весом и размерами, будут лишними. Оставляя ненужные поля, вы усложняете работу менеджерам, увеличиваете риск ошибок и замедляете процесс добавления товаров.
Удаление полей помогает:
- Оптимизировать интерфейс админки;
- Избавиться от лишних данных;
- Повысить скорость заполнения карточки товара;
- Снизить вероятность ошибок при заполнении.
Как убрать стандартные поля WooCommerce программно
Самый надёжный способ убрать поля — использовать хуки WooCommerce для удаления метабоксов на странице редактирования товара.
Например, чтобы убрать блок "Вес" и "Размеры", добавьте в functions.php вашей темы или в свой плагин следующий код:
function wpplugin_remove_woocommerce_product_fields() {
remove_meta_box( 'postexcerpt', 'product', 'normal' ); // Убирает поле короткого описания
remove_meta_box( 'woocommerce-product-data', 'product', 'normal' ); // Можно убрать весь блок данных продукта, но осторожно
remove_meta_box( 'woocommerce-product-attributes', 'product', 'normal' ); // Убирает атрибуты
}
add_action( 'add_meta_boxes', 'wpplugin_remove_woocommerce_product_fields', 99 );
Но такой подход удалит целые метабоксы, что не всегда удобно. Чаще нужно убрать отдельные поля внутри блока "Данные продукта".
Удаление отдельных вкладок данных продукта WooCommerce
Для удаления отдельных вкладок (например, "Доставка" с весом и размерами) можно использовать фильтр woocommerce_product_data_tabs:
function wpplugin_unset_product_data_tabs( $tabs ) {
if ( isset( $tabs['shipping'] ) ) {
unset( $tabs['shipping'] ); // Удаляем вкладку "Доставка"
}
return $tabs;
}
add_filter( 'woocommerce_product_data_tabs', 'wpplugin_unset_product_data_tabs', 99 );
Также можно убрать вкладку "Атрибуты" или "Связанные товары" по аналогии, обращая внимание на ключи массива $tabs.
Скрытие отдельных полей с помощью CSS или JavaScript
Иногда требуется просто визуально скрыть элементы, не трогая функционал. Для этого можно добавить кастомный CSS в админку:
function wpplugin_hide_woocommerce_fields_css() {
echo '<style>
#_weight_field, #_length_field, #_width_field, #_height_field { display: none !important; }
</style>';
}
add_action( 'admin_head', 'wpplugin_hide_woocommerce_fields_css' );
Идентификаторы полей можно найти через инспектор браузера на странице редактирования товара. Такой метод прост, но не удаляет данные из базы и не предотвращает их вывод на фронтенде.
Использование плагинов для управления полями WooCommerce
Если вы не хотите писать код, можно воспользоваться плагинами, которые позволяют управлять полями продукта:
- Advanced Custom Fields (ACF) — позволяет создавать и настраивать дополнительные поля, а ненужные стандартные можно скрыть;
- WooCommerce Custom Fields — плагин для добавления и управления пользовательскими полями;
- Clearfy Pro с управлением оптимизацией WooCommerce — помогает отключать лишние фичи и поля.
Эти решения дают гибкость, особенно если нужно не просто убрать поля, но и добавить новые.
Разбор конкретного примера: удаляем поле "Артикул" (SKU) программно
Поле SKU — одно из ключевых, но в некоторых магазинах оно не используется. Чтобы убрать его из админки и не выводить на странице товара, используйте следующий код:
function wpplugin_hide_sku_field() {
add_filter( 'wc_product_sku_enabled', '__return_false' );
// Удаляем метабокс с SKU через JS
echo '<script>
jQuery(document).ready(function($) {
$("#_sku").closest(".form-field").hide();
});
</script>';
}
add_action( 'admin_footer', 'wpplugin_hide_sku_field' );
Это отключит SKU и скроет поле в админке. При этом данные SKU будут игнорироваться.
Как проверить, что поля действительно не используются на сайте
Перед удалением полей проверьте, что данные из них нигде не выводятся на вашем сайте — в карточках товара, фильтрах, отчетах.
- Просмотрите шаблоны темы, особенно файлы single-product.php и content-single-product.php;
- Проверьте настройки плагинов, связанных с WooCommerce;
- Используйте инструменты отладки WooCommerce для просмотра метаданных продукта;
- Временно скройте поле и проверьте работу сайта;
- После изменений сделайте резервную копию базы данных.
Заключение по теме
Удаление или скрытие редко используемых полей продукта WooCommerce — это важный шаг для оптимизации работы магазина и упрощения интерфейса. Лучший вариант — использовать фильтры и хуки WooCommerce для удаления отдельных вкладок и метабоксов, а также CSS/JS для скрытия полей. В ряде случаев удобно применять плагины, например, Clearfy Pro, которые позволяют управлять функционалом WooCommerce без кода.