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

|

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

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

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

Удаление пустых категорий помогает поддерживать структуру сайта чистой и логичной.

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

Самый простой способ — зайти в раздел Записи → Рубрики в админ-панели WordPress. Там напротив каждой категории есть колонка Количество, показывающая число записей в категории. Пустые категории имеют значение 0.

Однако, если категорий много, это неудобно. Кроме того, иногда нужно быстро удалить все пустые категории разом, чтобы не делать это вручную.

Автоматическое удаление пустых категорий с помощью PHP-кода

Для массового удаления пустых категорий можно использовать следующий PHP-скрипт. Его удобно запускать один раз, например, через подключение к functions.php вашей темы или однократный вызов через wp-cli или временный плагин-сниппет.

function wppremium_delete_empty_categories() {
    $empty_categories = get_categories(array(
        'hide_empty' => true,
        'fields' => 'ids',
        'number' => 0
    ));

    $all_categories = get_categories(array(
        'hide_empty' => false,
        'fields' => 'ids'
    ));

    // Пустые категории — это те, которых нет в массиве $empty_categories
    $empty = array_diff($all_categories, $empty_categories);

    foreach ($empty as $cat_id) {
        wp_delete_category($cat_id);
    }
}
// Запускаем функцию один раз
wppremium_delete_empty_categories();

Объяснение кода:

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

Как избежать случайного удаления нужных категорий

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

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

function wppremium_delete_empty_categories_safe() {
    $exclude = array(1, 2); // ID категорий, которые не трогаем

    $empty_categories = get_categories(array(
        'hide_empty' => true,
        'fields' => 'ids',
        'number' => 0
    ));

    $all_categories = get_categories(array(
        'hide_empty' => false,
        'fields' => 'ids'
    ));

    $empty = array_diff($all_categories, $empty_categories);

    foreach ($empty as $cat_id) {
        if (in_array($cat_id, $exclude)) continue;
        wp_delete_category($cat_id);
    }
}
wppremium_delete_empty_categories_safe();

Удаление пустых категорий через WP-CLI

Если у вас есть доступ к командной строке сервера и установлен WP-CLI, можно использовать команду для быстрого удаления пустых категорий:

wp term list category --field=term_id --hide_empty=false --format=csv | \
while IFS= read -r term_id; do
  count=$(wp post list --category=$term_id --field=ID | wc -l)
  if [ "$count" -eq 0 ]; then
    wp term delete category $term_id
  fi
 done

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

Использование плагина Clearfy Pro для управления категориями

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

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

Удаление пустых категорий в WordPress без плагинов — задача, которую можно решить быстро и безопасно с помощью простого PHP-кода. Такой подход помогает поддерживать структуру сайта чистой, улучшает SEO и облегчает администрирование. Для удобства можно дополнительно использовать WP-CLI или специализированные плагины, например, Clearfy Pro, если важна автоматизация и комплексная оптимизация.

WooCommerce: как программно изменить статус заказа без плагинов
28.05.2026
Как использовать вложенное меню в WordPress с помощью пакета WP Premium
02.12.2025
Как удалить атрибуты srcset из тега img в WordPress для оптимизации
22.04.2026
Как удалить или изменить URL записи WordPress без редиректа и ошибок 404
05.12.2025
Как добавить AJAX в формы WordPress без плагинов
15.12.2025
×
-15%
на премиум плагин
My Popup

Повысьте конверсию!

Получить скидку »