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

|

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

Что такое пустые термины и почему важно их удалять

Термин — это элемент таксономии WordPress, например, категория или тег. Если термин не содержит ни одной записи, он считается пустым. Пустые термины не влияют напрямую на работу сайта, но:

Регулярное удаление пустых терминов помогает держать сайт в порядке и оптимизировать работу с таксономиями.

Удаление пустых терминов через PHP-код

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

Пример функции для удаления пустых терминов

function wpreboot_delete_empty_terms($taxonomies = array('category', 'post_tag')) {
    foreach ($taxonomies as $taxonomy) {
        $terms = get_terms(array(
            'taxonomy' => $taxonomy,
            'hide_empty' => false,
        ));
        if (is_wp_error($terms)) continue;

        foreach ($terms as $term) {
            if ($term->count == 0) {
                wp_delete_term($term->term_id, $taxonomy);
            }
        }
    }
}

// Запуск функции, например, при активации темы или плагина
add_action('after_switch_theme', function() {
    wpreboot_delete_empty_terms();
});

В этом примере функция wpreboot_delete_empty_terms принимает массив таксономий, которые необходимо обработать. По умолчанию это категории и теги. Она получает все термины с помощью get_terms с параметром hide_empty => false, чтобы получить и пустые. Затем проверяется счётчик count, и если он равен 0, термин удаляется функцией wp_delete_term.

Такой подход безопасен и не требует дополнительных плагинов. Вы можете вызвать эту функцию вручную или привязать её к событию, например, активации темы, обновлению сайта или по расписанию с помощью WP-Cron.

Автоматизация удаления пустых терминов через WP-Cron

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

if (!wp_next_scheduled('wpreboot_cron_delete_empty_terms')) {
    wp_schedule_event(time(), 'daily', 'wpreboot_cron_delete_empty_terms');
}

add_action('wpreboot_cron_delete_empty_terms', 'wpreboot_delete_empty_terms');

Этот код создаст ежедневное событие, вызывающее функцию удаления пустых терминов. Это удобно для автоматического поддержания порядка в базе данных.

Удаление пустых терминов с помощью плагинов

Если вы предпочитаете готовые решения, рассмотрите следующие плагины для управления таксономиями и очистки пустых терминов:

Использование плагинов удобно для тех, кто не хочет писать код или нуждается в дополнительных функциях по оптимизации и очистке.

Как удалить пустые термины через WP Bulk Delete

После установки и активации плагина:

  1. Перейдите в WP Bulk Delete > Taxonomies.
  2. Выберите таксономию (например, категории или теги).
  3. Включите фильтр по пустоте терминов (Delete empty terms only).
  4. Запустите удаление.

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

Советы по предотвращению появления пустых терминов

Удаление пустых терминов — это хорошо, но лучше минимизировать их появление. Для этого:

Выводы и рекомендации

Удаление пустых терминов — важная задача для поддержания чистоты базы данных и удобства управления сайтом. Самый простой и эффективный способ — использовать приведённый выше PHP-код с автоматическим запуском через WP-Cron. Для тех, кто предпочитает визуальные инструменты и расширенные возможности, подойдут плагины WP Bulk Delete и Clearfy Pro.

Регулярно проверяйте и очищайте таксономии, чтобы избежать накопления пустых терминов и сохранить порядок в вашем WordPress-сайте.

Как сделать автоматический редирект с удалением WWW в WordPress
13.03.2026
Как добавить дополнительное поле в профиль пользователя WordPress: практическое руководство
28.11.2025
Как удалить все посты из определённой категории в WordPress через код
30.01.2026
Как сделать автоматическое удаление простых категорий в WordPress по условию
05.03.2026
Как удалить лишние мета-поля в WordPress без плагинов: новое решение
23.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше