В процессе работы с WordPress часто возникает необходимость массово удалить все установленные плагины. Причины могут быть разные: от устранения конфликтов и ошибок, до подготовки сайта к чистой установке или тестированию. Однако стандартный интерфейс WordPress не предусматривает одновременного удаления всех плагинов одним действием — приходится удалять каждый по отдельности, что неудобно и занимает время.
Почему может понадобиться массовое удаление плагинов WordPress
Удаление всех плагинов — не частая, но нередко необходимая операция. Вот несколько сценариев, когда это актуально:
- Исправление ошибок и конфликтов. Иногда плагины конфликтуют между собой или с темой, вызывая непредсказуемое поведение сайта.
- Оптимизация производительности. Избыточное количество плагинов может замедлять загрузку страниц и нагружать сервер.
- Подготовка к обновлению или переезду. Чтобы минимизировать риски, администраторы удаляют все плагины перед масштабным обновлением ядра или сменой хостинга.
- Тестирование чистой установки. Разработчики часто хотят проверить работу сайта без плагинов.
В таких случаях массовое удаление плагинов существенно экономит время.
Стандартные способы удаления плагинов и их ограничения
В WordPress удалить плагин можно через админку, зайдя в раздел «Плагины» и выбрав «Удалить» под каждым из них. Также можно деактивировать все плагины массово, поставив галочки и выбрав действие «Деактивировать», но массового удаления в интерфейсе нет.
Через FTP можно зайти в папку wp-content/plugins и вручную удалить папки плагинов, но это рискованно и не рекомендуется без уверенности, что база данных и другие части сайта не пострадают.
Для массового удаления плагинов без риска существуют более удобные и безопасные инструменты и способы.
Использование WPReset для массового удаления плагинов
Плагин WPReset предназначен для быстрого восстановления сайта и управления его состоянием. Он имеет функцию сброса плагинов, которая позволяет удалить все плагины, кроме самого WPReset, одним кликом.
Чтобы удалить все плагины с помощью WPReset:
- Установите и активируйте WPReset.
- Перейдите в раздел «Инструменты» — > «WPReset».
- Выберите опцию Сброс плагинов.
- Подтвердите действие, введя требуемый код безопасности.
WPReset удалит все плагины, кроме себя, а также очистит все связанные с ними опции из базы данных, что предотвратит накопление мусора.
Это быстрый и безопасный способ избавиться от всех плагинов без риска повредить сайт.
Пример кода для удаления всех плагинов через WP-CLI
Если у вас есть доступ к командной строке на сервере и установлен WP-CLI, можно удалить все плагины одной командой. Вот пример, как это сделать:
wp plugin deactivate --all
wp plugin delete --allПервая команда деактивирует все плагины, вторая — удаляет их. Это надежный способ, если вы умеете работать с командной строкой.
Обратите внимание, что WP-CLI удалит плагины физически с сервера, но не очистит возможные записи в базе данных, оставшиеся после работы плагинов. Для полной очистки рекомендуется использовать специализированные плагины вроде WPReset.
Как написать собственную функцию для удаления всех плагинов в WordPress
Если вы хотите реализовать удаление всех плагинов программно, например, в кастомном плагине или теме, можно использовать следующий код. Он деактивирует и удаляет все плагины, кроме WPReset:
function wpresetru_delete_all_plugins() {
if ( ! current_user_can('activate_plugins') ) {
return;
}
$plugins = get_plugins();
$wpreset_slug = 'wp-reset/wp-reset.php'; // путь к wpreset
foreach ( $plugins as $plugin_path => $plugin_data ) {
if ( $plugin_path === $wpreset_slug ) continue; // пропускаем WPReset
if ( is_plugin_active( $plugin_path ) ) {
deactivate_plugins( $plugin_path );
}
delete_plugins( array( $plugin_path ) );
}
}Вызывать эту функцию стоит только с проверкой прав и подтверждением пользователя. Она аккуратно деактивирует и удаляет все плагины, кроме WPReset, предотвращая случайное удаление важного инструмента восстановления.
Объяснение кода
get_plugins() получает список всех установленных плагинов. Затем мы перебираем их, пропуская WPReset, чтобы он остался активным. Для каждого плагина сначала вызываем deactivate_plugins(), чтобы деактивировать, а потом delete_plugins() — чтобы удалить файлы плагина.
Рекомендации по безопасности и резервному копированию перед массовым удалением
Перед удалением всех плагинов обязательно сделайте полную резервную копию сайта — файлов и базы данных. Это позволит быстро восстановить рабочее состояние при ошибках или непредвиденных последствиях.
Если вы используете WPReset, он сам предлагает создать снепшот — точку восстановления, к которой можно вернуться в случае проблем.
Никогда не запускайте массовое удаление плагинов без проверки прав пользователя и подтверждения действия. Это поможет избежать случайных удалений и потери данных.
Дополнительные рекомендации по очистке базы данных от данных удаленных плагинов
После удаления плагинов некоторые из них оставляют в базе данных таблицы, записи и опции, которые занимают место и могут замедлять сайт. Для очистки можно использовать плагины типа Clearfy Pro, который автоматизирует удаление мусора после удаления плагинов.
Также можно вручную проверить таблицы через phpMyAdmin и удалить лишние записи, если вы уверены в своих действиях.
Итоговые советы
- Для массового удаления всех плагинов используйте WPReset — это безопасно и удобно.
- Если доступен WP-CLI, команды
wp plugin deactivate --allиwp plugin delete --allбыстро решат задачу. - Для автоматизации можно написать собственную функцию, как показано выше, но с обязательной проверкой прав.
- Обязательно делайте резервные копии перед любыми массовыми операциями.
- После удаления плагинов очищайте базу данных от оставшихся данных, чтобы поддерживать производительность.
Используя эти методы, вы сможете оперативно и безопасно удалить все плагины на сайте WordPress одним кликом или командой, что значительно облегчит обслуживание и настройку сайта.