Как удалить неиспользуемые таксономии в WordPress без плагина

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

Со временем в WordPress накапливаются таксономии, которые больше не нужны — например, после удаления плагинов или тем, которые их регистрировали. Эти таксономии продолжают занимать место в базе данных, замедляют запросы и создают путаницу в админке. Чтобы улучшить производительность и упростить структуру сайта, их стоит удалить.

Как проверить, какие таксономии зарегистрированы и не используются

Для диагностики выполните следующий код в файле темы functions.php или через плагин для сниппетов:

add_action('admin_notices', function() {
    $taxonomies = get_taxonomies([], 'objects');
    foreach ($taxonomies as $tax) {
        // Выводим только пользовательские таксономии, исключая стандартные
        if (!in_array($tax->name, ['category', 'post_tag', 'nav_menu', 'link_category', 'post_format'])) {
            $count = wp_count_terms($tax->name);
            printf('<div><strong>%s</strong> — %d терминов</div>', $tax->label, $count);
        }
    }
});

В админке вверху появится список пользовательских таксономий с количеством терминов. Если у таксономии 0 терминов, значит она не используется.

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

Удалить таксономию в WordPress нельзя стандартными средствами — нужно:

  • Выяснить, какой код регистрирует таксономию.
  • Удалить или закомментировать этот код (обычно в плагине или functions.php).
  • Удалить записи из таблиц базы данных.

Если таксономия регистрируется плагином, лучше отключить плагин. Если код в теме, удалите регистрацию.

Пример кода регистрации таксономии:

function my_register_taxonomy() {
    register_taxonomy('my_taxonomy', 'post', [
        'label' => 'Моя таксономия',
        'public' => true,
        'rewrite' => ['slug' => 'my-taxonomy'],
    ]);
}
add_action('init', 'my_register_taxonomy');

Чтобы удалить таксономию, удалите или закомментируйте этот код и очистите базу.

Удаление терминов и метаданных таксономии из базы данных

Для полной очистки выполните SQL-запросы (через phpMyAdmin или WP CLI):

DELETE FROM wp_term_relationships WHERE term_taxonomy_id IN (
    SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE taxonomy = 'my_taxonomy'
);
DELETE FROM wp_term_taxonomy WHERE taxonomy = 'my_taxonomy';
DELETE FROM wp_terms WHERE term_id NOT IN (
    SELECT term_id FROM wp_term_taxonomy
);

Обязательно сделайте резервную копию базы перед выполнением.

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

1. Убедитесь, что таксономия больше не отображается в админке.

2. Проверьте базу данных, выполнив:

SELECT * FROM wp_term_taxonomy WHERE taxonomy = 'my_taxonomy';

Запрос должен возвращать пустой результат.

3. Проверьте фронтенд сайта на отсутствие ошибок и ссылок на удалённую таксономию.

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

  • Таксономия продолжает отображаться в админке — проверьте, что код регистрации полностью удалён или плагин отключён.
  • Ошибка в SQL-запросах — убедитесь, что таблицы имеют правильный префикс wp_ или используйте актуальный префикс из wp-config.php.
  • Потеря данных — всегда делайте бэкап перед удалением.
  • Ошибки на сайте после удаления — возможно, где-то есть вызовы несуществующей таксономии, проверьте шаблоны и плагины.

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

  • Удаляйте неиспользуемые таксономии только после тестирования на тестовом сайте.
  • Используйте WP-CLI для безопасной работы с базой: wp db query 'SQL-запрос'.
  • Для регулярной проверки используйте сниппеты диагностики, чтобы отслеживать новые неиспользуемые таксономии.
  • Если таксономий много, рассмотрите автоматизацию очистки с помощью кастомного скрипта, который будет запускаться через WP-Cron.

Сравнение методов удаления таксономий

МетодПреимуществаНедостатки
Ручное удаление кода и SQL-запросыТочный контроль, бесплатноРиск ошибок, требует знаний SQL и PHP
Отключение плагина, регистрирующего таксономиюПросто, безопасноПотеря функционала плагина
Использование плагинов для удаления таксономийУдобно, без кодаДополнительные плагины могут замедлить сайт
WooCommerce: как отключить автологин после регистрации пользователя
17.05.2026
Как использовать WPCommunity для создания социальной сети на WordPress
01.02.2026
Как использовать WPRemark для оценки и отзывов в WordPress
16.01.2026
Как создать многоуровневое меню в WordPress с помощью плагинов и кода
27.11.2025
Как удалить неиспользуемые шорткоды в WordPress
11.03.2026