В процессе разработки и эксплуатации WordPress-сайта часто накапливаются таксономии, которые больше не используются. Это могут быть старые категории, метки или кастомные таксономии, оставшиеся после удаления плагинов или тем. Наличие неиспользуемых таксономий может замедлять работу сайта и усложнять управление контентом. В этой статье разберёмся, как удалить такие таксономии без сложных манипуляций с кодом, используя удобные плагины и минимальные пользовательские функции.
Почему важно удалять неиспользуемые таксономии в WordPress
Таксономии — это способ группировки записей и других типов контента. Они позволяют структурировать сайт, улучшать навигацию и SEO. Однако, когда таксономии устаревают или становятся ненужными, они продолжают занимать место в базе данных и могут создавать путаницу в админке.
Удаление неиспользуемых таксономий улучшает производительность за счёт:
- Сокращения объёма таблиц базы данных, связанных с таксономиями;
- Упрощения интерфейса админки — меньше лишних элементов меню и настроек;
- Повышения скорости запросов к базе данных при выборке контента.
Далее рассмотрим, как это сделать с помощью плагинов и небольших сниппетов кода.
Удаление таксономий через плагин WP-Optimize
Использование WP-Optimize для очистки базы данных
WP-Optimize — популярный плагин для оптимизации базы данных, который позволяет удалять устаревшие данные, включая неиспользуемые таксономии.
После установки и активации:
- Перейдите в раздел «WP-Optimize» в админке WordPress.
- Выберите вкладку «Database».
- Отметьте пункты, связанные с очисткой таксономий и их связей, например «Удалить неиспользуемые метаданные» и «Удалить неиспользуемые термины таксономий».
- Нажмите «Run all selected optimizations».
Это позволит безопасно удалить остатки неиспользуемых таксономий и связанных данных.
Преимущества и ограничения метода
Преимущество в том, что не нужно писать код и можно быстро очистить базу. Однако плагин не удалит зарегистрированные в коде таксономии, он лишь очистит неиспользуемые записи в базе.
Удаление кастомных таксономий через отключение регистрации
Что значит «удалить таксономию» в WordPress
В WordPress таксономии регистрируются с помощью функции register_taxonomy в коде темы или плагина. Если вы хотите полностью удалить кастомную таксономию, нужно прекратить её регистрацию, то есть удалить или закомментировать соответствующий код.
Однако просто удалить код регистрации недостаточно: в базе данных останутся термины и связи с записями.
Удаление данных таксономий из базы данных
Чтобы удалить остатки таксономий, можно воспользоваться SQL-запросами или плагинами. Рекомендуется делать резервную копию перед такими действиями.
Пример SQL-запроса для удаления терминов таксономии с названием my_taxonomy:
DELETE t, tt, tr
FROM wp_terms AS t
INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN wp_term_relationships AS tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
WHERE tt.taxonomy = 'my_taxonomy';
Если вы не хотите работать напрямую с базой, используйте плагин Clearfy Pro, который имеет функции по удалению таксономий и очистке базы.
Как безопасно отключить таксономию с помощью кода в functions.php
Создание функции отключения таксономии
Если вы не хотите удалять данные сразу, но хотите скрыть таксономию, можно отписаться от её регистрации динамически. Добавьте в functions.php вашей темы следующий код:
function wplite_unregister_taxonomy() {
global $wp_taxonomies;
if ( isset( $wp_taxonomies['my_taxonomy'] ) ) {
unset( $wp_taxonomies['my_taxonomy'] );
}
}
add_action( 'init', 'wplite_unregister_taxonomy', 11 );
Этот код удалит таксономию из системы на этапе инициализации WordPress. Обратите внимание, что таксономия должна быть зарегистрирована с приоритетом ниже 11, чтобы этот код сработал.
Пример отключения нескольких таксономий
function wplite_unregister_taxonomies() {
$taxonomies = array( 'my_taxonomy', 'old_category' );
global $wp_taxonomies;
foreach ( $taxonomies as $taxonomy ) {
if ( isset( $wp_taxonomies[ $taxonomy ] ) ) {
unset( $wp_taxonomies[ $taxonomy ] );
}
}
}
add_action( 'init', 'wplite_unregister_taxonomies', 11 );
Использование плагина Custom Post Type UI для управления таксономиями
Управление и удаление таксономий через UI
Custom Post Type UI — удобный плагин для создания и управления кастомными типами записей и таксономиями.
Для удаления таксономии:
- Откройте раздел «CPT UI» в админке.
- Перейдите в «Manage Taxonomies».
- Выберите таксономию, которую хотите удалить, и нажмите «Delete».
Плагин удалит регистрацию таксономии и очистит связанные записи, если они не используются.
Преимущества Custom Post Type UI
Этот способ подходит тем, кто управляет таксономиями через UI и не хочет погружаться в код. Плагин поддерживает экспорт/импорт настроек, что удобно для миграций.
Советы по безопасности и резервному копированию при работе с таксономиями
Перед удалением таксономий или выполнением SQL-запросов обязательно создавайте резервные копии базы данных и файлов сайта. Это поможет избежать потери важных данных.
Для резервного копирования можно использовать плагин WP Backup или другие решения.
Также рекомендуется тестировать изменения на локальной копии сайта или на staging-сервере перед применением на боевом ресурсе.