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

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

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

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

Как узнать, какие свойства товара отображаются в админке

Для просмотра всех зарегистрированных атрибутов в WooCommerce можно воспользоваться функцией wc_get_attribute_taxonomies(). Она возвращает массив объектов с данными о свойствах:

$attributes = wc_get_attribute_taxonomies();
foreach ( $attributes as $attribute ) {
    echo $attribute->attribute_name . ' - ' . $attribute->attribute_label . "\n";
}

Этот код поможет понять, какие свойства зарегистрированы и как они называются.

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

1. Скрытие свойств с помощью CSS

Если вы хотите просто скрыть определённые свойства в интерфейсе редактирования товара, можно добавить CSS в админку WordPress. Для этого используйте хук admin_head:

add_action('admin_head', function() {
    $screen = get_current_screen();
    if ( 'product' !== $screen->post_type ) {
        return;
    }
    ?>
    <style>
        /* Скрыть метабокс с атрибутом custom_attribute */
        .attribute_custom_attribute {
            display: none !important;
        }
        /* Пример для нескольких атрибутов */
        .attribute_color, .attribute_size {
            display: none !important;
        }
    </style>
    <?php
});

Класс метабокса формируется как attribute_имя_атрибута. Чтобы узнать точное имя, откройте HTML-структуру страницы редактирования товара.

2. Полное удаление свойства из WooCommerce

Чтобы удалить свойство товара из базы, используйте функцию wc_delete_attribute(). Это удалит атрибут и все его данные.

$attribute_id = 12; // ID атрибута, который нужно удалить
wc_delete_attribute( $attribute_id );
<

ID атрибута можно получить из результата wc_get_attribute_taxonomies() или из базы данных в таблице wp_woocommerce_attribute_taxonomies.

Обратите внимание: удаление свойства необратимо и может повлиять на товары, использующие этот атрибут.

3. Удаление свойства из списка доступных без удаления из базы

Если не хотите удалять атрибут, а только скрыть его из выбора при редактировании товара, можно отфильтровать список атрибутов с помощью фильтра 'woocommerce_attribute_taxonomies':

add_filter( 'woocommerce_attribute_taxonomies', function( $taxonomies ) {
    foreach ( $taxonomies as $key => $taxonomy ) {
        if ( in_array( $taxonomy->attribute_name, ['deprecated_attribute', 'unused_attribute'] ) ) {
            unset( $taxonomies[ $key ] );
        }
    }
    return $taxonomies;
});

Этот способ скрывает свойства из интерфейса без удаления.

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

  • Откройте админку WooCommerce, создайте или отредактируйте товар.
  • Проверьте, что нежелательные свойства не отображаются в метабоксе атрибутов.
  • Для удаления проверьте в списке атрибутов (WooCommerce → Товары → Свойства), что свойство отсутствует.
  • Если использовали CSS, убедитесь, что скрытый блок не виден, но данные остаются.

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

  • Свойства не скрываются после CSS: Возможно, указан неправильный класс. Проверьте HTML-код страницы редактирования товара, чтобы найти точное имя класса метабокса.
  • Удаление свойства не работает: Проверьте, правильно ли указан ID атрибута. Также убедитесь, что функция вызывается в правильном месте — лучше через WP-CLI или временной скрипт.
  • Пропали данные товаров после удаления свойства: Это нормальная реакция, если товары использовали это свойство. Перед удалением сделайте экспорт товаров и резервную копию базы.
  • Свойства появляются снова после обновления WooCommerce: Иногда плагины или тема могут регистрировать свойства программно. Проверьте код плагинов и темы.

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

  • Всегда создавайте резервную копию базы данных перед удалением свойств.
  • Для временного скрытия используйте CSS, чтобы не повредить данные.
  • Если нужно массово удалить свойства, используйте WP-CLI для выполнения команд, чтобы избежать ошибок таймаута.
  • Проверяйте зависимости: если свойства используются в фильтрах, виджетах или плагинах, их удаление может сломать функционал.

Сравнение вариантов: скрытие vs удаление

МетодОписаниеПлюсыМинусы
CSS скрытие Скрывает свойства в интерфейсе, не трогая базу Просто, быстро, безопасно Данные остаются, свойства доступны через API
Удаление через wc_delete_attribute() Полностью удаляет свойство из базы Освобождает место, удаляет все данные Необратимо, может сломать товары, требуется резервное копирование
Фильтрация списка атрибутов Скрывает свойства из выбора при редактировании Безопасно, данные не удаляются, удобно для временного скрытия Сложнее реализовать, требует понимания фильтров WooCommerce
Как автоматизировать удаление спама в WordPress
31.12.2025
Как настроить AJAX в WordPress для динамического обновления контента
18.11.2025
Как удалить старые варианты товаров WooCommerce без плагинов
19.06.2026
Как удалить или скрыть свойства товара WooCommerce в админке WordPress
22.06.2026
Как избежать проблем с отправкой писем через PHP mail() в WordPress
30.06.2026