Иногда случается ситуация, когда доступ к админке WordPress отсутствует из-за ошибки, вызванной плагином. В таких случаях стандартное отключение или удаление плагина через интерфейс невозможно. В этой статье мы рассмотрим, как с помощью кода, через файловую систему и базу данных, удалить или отключить плагин в WordPress, чтобы восстановить работоспособность сайта.
Почему может понадобиться отключить плагин без админки
Чаще всего проблемы возникают после установки или обновления плагина, который конфликтует с темой или другими плагинами, ломает функционал сайта и не даёт зайти в админку. В таких случаях нужно:
- деактивировать проблемный плагин, чтобы вернуть доступ к панели;
- удалить плагин, если он больше не нужен или вызывает критичные ошибки.
Однако без доступа к админке сделать это не всегда просто, поэтому ниже рассмотрим несколько вариантов через код и базу данных.
Отключение плагина через базу данных WordPress
WordPress хранит список активных плагинов в опции active_plugins в таблице wp_options (префикс таблиц может отличаться).
Чтобы отключить плагин вручную, нужно:
- Подключиться к базе данных через phpMyAdmin или другой инструмент.
- Найти таблицу
wp_optionsи строку сoption_name = 'active_plugins'. - Отредактировать значение опции — это сериализованный массив, содержащий пути к плагинам.
- Удалить из массива строку с проблемным плагином, например
plugin-folder/plugin-file.php.
Пример сериализованного массива:
a:3:{i:0;s:19:"akismet/akismet.php";i:1;s:25:"hello-dolly/hello.php";i:2;s:32:"my-plugin/my-plugin-main-file.php";}Если удалить нужный элемент и сохранить, плагин отключится.
Автоматизация отключения плагина через PHP-скрипт
Если есть доступ к FTP или файловому менеджеру, можно создать временный PHP-файл в корне сайта с кодом, который отключит плагин. Например:
<?php
// wp-learn-disable-plugin.php
require_once __DIR__ . '/wp-load.php';
function wplearn_disable_plugin($plugin_path) {
$active_plugins = get_option('active_plugins');
if (!is_array($active_plugins)) {
$active_plugins = [];
}
$key = array_search($plugin_path, $active_plugins);
if ($key !== false) {
unset($active_plugins[$key]);
update_option('active_plugins', $active_plugins);
echo "Плагин {$plugin_path} отключен.";
} else {
echo "Плагин {$plugin_path} уже отключен или не найден.";
}
}
// Укажите путь к плагину, который нужно отключить
wplearn_disable_plugin('plugin-folder/plugin-file.php');
?>После загрузки файла на сервер и запуска через браузер (https://yoursite.ru/wp-learn-disable-plugin.php) плагин будет отключён. После этого файл лучше удалить.
Удаление плагина через FTP или файловый менеджер
Полное удаление плагина — это удаление его папки из каталога wp-content/plugins/. Если вы не можете зайти в админку, зайдите на сервер через FTP или панель хостинга и удалите папку плагина вручную.
Но будьте осторожны: если плагин использует дополнительные таблицы в базе или создает файлы, они останутся, и потребуется дополнительная очистка.
Пример: удаление плагина Clearfy Pro
Если вы используете на сайте Clearfy Pro (https://wpshop.ru/plugins/clearfy-pro/?utm_source=wplearn.ru&utm_medium=article&utm_campaign=kak-udalit-i-otkljuchit-plagin-v-wordpress-cherez-kod) и он вызывает проблемы, то:
- через FTP удалите папку
clearfy-proизwp-content/plugins/; - через базу данных удалите настройки, если нужно, например, опции с префиксом
clearfy_; - очистите кэш сайта и браузера.
Использование WP-CLI для отключения и удаления плагинов
WP-CLI — мощный инструмент для управления WordPress через командную строку. Если у вас есть доступ к SSH, это самый удобный способ:
wp plugin deactivate plugin-folder/plugin-file.php
wp plugin delete plugin-folder/plugin-file.phpЭти команды отключат и удалят плагин без доступа к админке.
Профилактика и советы по работе с плагинами
Чтобы избежать подобных проблем в будущем:
- тестируйте новые или обновляемые плагины на копии сайта;
- используйте WP-CLI для управления плагинами, если есть доступ;
- делайте регулярные резервные копии;
- используйте плагины для управления безопасностью и мониторинга ошибок.
Также можно использовать плагин WPCommunity, который помогает организовать внутреннюю поддержку и быстро обмениваться решениями по подобным проблемам.