Как удалить или скрыть свойства товара WooCommerce в админке WordPress

Диагностика проблемы: зачем скрывать или удалять свойства товара в WooCommerce?

Администраторы WooCommerce иногда сталкиваются с необходимостью упростить интерфейс редактирования товара в админке. Например, если магазин использует ограниченный набор атрибутов, а стандартные свойства товара (вес, размеры, артикул и пр.) не нужны или мешают. Это снижает удобство работы с товарами и увеличивает риски ошибок при редактировании.

По умолчанию WooCommerce добавляет несколько метабоксов и полей свойства товара, которые нельзя отключить через интерфейс. Нужен программный способ удаления или скрытия этих элементов.

Пошаговое решение: как убрать свойства товара из админки WooCommerce

1. Удаление метабоксов свойства товара

Для удаления метабоксов в админке WordPress используется функция remove_meta_box(). В WooCommerce ключевые метабоксы, которые отвечают за свойства товара, имеют следующие ID:

  • woocommerce-product-data — весь блок с настройками товара;
  • postexcerpt — описание товара;
  • woocommerce-product-images — изображения товара;
  • woocommerce-product-attributes — атрибуты товара (свойства).

Если нужно именно скрыть блок с атрибутами, используем:

add_action('add_meta_boxes', function() {
    remove_meta_box('woocommerce-product-attributes', 'product', 'normal');
}, 99);

Этот код удалит метабокс с атрибутами из страницы редактирования товара.

2. Удаление конкретных полей свойства товара

Иногда нужно не убирать весь блок, а скрыть отдельные поля, например, артикул или вес. Для этого нужно использовать фильтры WooCommerce и JavaScript, так как поля рендерятся динамически.

Пример скрытия поля «Артикул» (_sku):

add_action('admin_head-post.php', 'hide_sku_field_in_product_edit');
add_action('admin_head-post-new.php', 'hide_sku_field_in_product_edit');

function hide_sku_field_in_product_edit() {
    global $post_type;
    if ($post_type !== 'product') return;
    ?>
    <style>
        #_sku_field { display: none !important; }
    </style>
    <?php
}

Аналогично можно скрывать другие поля по ID. Чтобы узнать нужный ID, используйте инструменты разработчика браузера на странице редактирования товара.

3. Отключение атрибутов товара программно

Если нужно полностью отключить поддержку атрибутов, можно убрать регистрацию типа атрибутов так:

add_action('init', function() {
    unregister_taxonomy('pa_color'); // пример атрибута цвет
    unregister_taxonomy('pa_size');  // пример атрибута размер
});

Однако будьте осторожны: это удалит атрибуты и связанные с ними данные.

Проверка результата после внедрения

  • Перейдите в админку WordPress → Товары → Редактирование существующего товара.
  • Проверьте, что метабокс с атрибутами товара отсутствует, или что скрытые поля (например, артикул) не отображаются.
  • Обновите страницу, чтобы убедиться, что изменения стабильны.
  • Проверьте, что товар можно сохранить без ошибок.

Частые ошибки и как исправить

  • Метабокс не исчезает: Проверьте приоритет хука add_meta_boxes. Используйте приоритет 99 или выше, чтобы ваш код срабатывал после WooCommerce.
  • Скрываемое поле отображается снова: Убедитесь, что CSS селектор правильный. Используйте инструменты разработчика, чтобы найти точный ID или класс.
  • Удаление атрибутов ломает сайт: Не отключайте таксономии без резервного копирования. Убедитесь, что на сайте нет зависимостей от этих атрибутов.

Практические советы по безопасности и производительности

  • Вносите изменения в дочернюю тему или собственный плагин, чтобы избежать потери при обновлении WooCommerce.
  • Используйте минимально необходимый код — не удаляйте лишние метабоксы и поля, чтобы не сломать логику магазина.
  • Проверяйте совместимость с обновлениями WooCommerce после каждого обновления.
  • Для сложных изменений лучше создать отдельный плагин, чтобы не влиять на другие части сайта.

Сравнение способов удаления свойств товара в WooCommerce

МетодОписаниеПлюсыМинусы
remove_meta_box()Удаление целого блока метабоксаПростота, быстрое решениеУдаляется весь блок, нельзя выборочно
CSS/JS скрытие полейСкрытие отдельных полей через CSS в админкеВыборочное скрытие, быстроПоле не удаляется, доступно в коде
unregister_taxonomy()Полное отключение атрибутовПолностью убирает таксономии атрибутовРиск потери данных, требует осторожности
Как избежать проблем с отправкой писем через PHP mail() в WordPress
03.05.2026
Как избежать проблем с бесплатными темами WordPress: практические советы и примеры
02.02.2026
Как добавить уникальные метаданные для страниц в WordPress без плагинов
21.02.2026
Как создать настройку для отключения кэша в WordPress
31.12.2025
Как автоматизировать удаление неработающих шорткодов в WordPress
11.03.2026