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

Как отключить плагины wordpress не заходя в админку

Как отключить плагины wordpress не заходя в админку

Проблемы с несовместимыми или повреждёнными плагинами могут полностью заблокировать доступ к административной панели WordPress. В таких случаях восстановление работы сайта возможно только через серверные инструменты. Самыми эффективными методами считаются управление плагинами через FTP/SFTP, использование phpMyAdmin для редактирования базы данных и применение консольных команд WP-CLI.

При подключении по FTP достаточно изменить имя папки с проблемным плагином или директории /wp-content/plugins целиком. Это гарантированно отключит все установленные расширения, позволяя быстро проверить источник ошибки. Работа через phpMyAdmin требует изменения значения в таблице wp_options, где хранится список активных плагинов. Такой способ даёт возможность отключить только конкретные расширения без затрагивания остальных.

На серверах с доступом к WP-CLI можно использовать команду wp plugin deactivate, указывая имя конкретного плагина. Это самый быстрый вариант для администраторов, знакомых с командной строкой. Все перечисленные методы помогают восстановить доступ к админке и продолжить настройку сайта без необходимости полной переустановки WordPress.

Отключение плагинов через переименование папки plugins в файловом менеджере

Отключение плагинов через переименование папки plugins в файловом менеджере

Зайдите в файловый менеджер хостинга или подключитесь по FTP и откройте директорию /wp-content/. Внутри находится папка plugins, где хранятся все установленные плагины.

Чтобы отключить их одновременно, переименуйте папку, например в plugins_disabled. WordPress не сможет найти старый путь, и все плагины автоматически перестанут работать.

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

Если нужно отключить только один проблемный плагин, откройте папку plugins, найдите директорию плагина и переименуйте её аналогичным образом. Это безопаснее, чем отключать всё сразу.

Удаление или временное переименование конкретной папки плагина

Удаление или временное переименование конкретной папки плагина

Каждый плагин WordPress хранится в каталоге /wp-content/plugins/ в отдельной папке. Чтобы отключить проблемный модуль, достаточно найти его директорию и изменить её имя. Например, если плагин находится в папке contact-form-7, можно переименовать её в contact-form-7_off. После этого система перестанет видеть плагин, и он не будет загружаться.

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

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

Использование phpMyAdmin для деактивации плагинов через таблицу базы данных

Использование phpMyAdmin для деактивации плагинов через таблицу базы данных

В phpMyAdmin откройте базу данных, используемую вашим сайтом, и найдите таблицу wp_options. Если у вас изменён префикс, название будет отличаться, например mywp_options.

Найдите запись с полем option_name = active_plugins. Именно в ней хранится список всех активных плагинов в формате сериализованного массива.

Чтобы полностью отключить плагины, измените значение поля option_value на a:0:{} и сохраните изменения. Это приведёт к загрузке WordPress без активированных расширений.

Если нужно отключить только один плагин, отредактируйте сериализованный массив вручную: удалите строку, содержащую путь к нужному плагину, например s:19:"akismet/akismet.php";, и скорректируйте количество элементов массива (a:N:{}, где N должно совпадать с реальным числом записей).

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

Редактирование файла wp-config.php для временного отключения всех плагинов

Редактирование файла wp-config.php для временного отключения всех плагинов

Откройте файл wp-config.php, расположенный в корневом каталоге сайта. Для доступа используйте FTP-клиент или файловый менеджер хостинга.

Перед строкой /* That’s all, stop editing! Happy publishing. */ добавьте код:

define(‘WP_PLUGIN_DIR’, ‘/dev/null’);

Эта директива указывает WordPress, что папка с плагинами недоступна, и система полностью прекращает их загрузку.

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

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

Создание временного MU-плагина для деактивации проблемных расширений

Создание временного MU-плагина для деактивации проблемных расширений

Шаги и готовый код для быстрого отключения конкретных плагинов без доступа в админку: создайте файл wp-content/mu-plugins/temp-deactivate.php и загрузите его по FTP/SFTP. Плагин выполнится автоматически при загрузке WordPress (MU-плагины загружаются раньше обычных), изменит список активных расширений и сохранит резервную копию текущего состояния.

  1. Резервная копия (обязательно):

    • Сделайте экспорт таблицы wp_options или выполните дамп базы данных.

    • Плагин ниже сохраняет копию опции в temp_mu_backup_active_plugins (single-site) и в temp_mu_backup_active_sitewide_plugins (multisite).

  2. Код MU-плагина (вставьте точно):

    <?php
    /*
    Plugin Name: Temp Deactivate Problematic Plugins
    Description: Временно удаляет указанные плагины из активных (single-site & multisite). Удалите файл после решения.
    Author: admin
    */
    if ( defined('WP_CLI') && WP_CLI ) return; // не запускать в WP-CLI
    // Список плагинов для деактивации: путь относительно папки plugins, пример 'akismet/akismet.php'
    $targets = array(
    'problem-plugin-folder/problem-plugin-file.php',
    'akismet/akismet.php'
    );
    // Флаг, чтобы выполнить операцию один раз
    $option_flag = 'temp_mu_deactivate_done';
    if ( get_site_option($option_flag) ) return;
    if ( is_multisite() ) {
    // multisite: active_sitewide_plugins – ассоциативный массив ['plugin/file.php' => time]
    $sitewide = get_site_option('active_sitewide_plugins', array());
    if ( empty( get_site_option('temp_mu_backup_active_sitewide_plugins') ) ) {
    add_site_option('temp_mu_backup_active_sitewide_plugins', $sitewide);
    }
    foreach ($targets as $t) {
    if ( isset($sitewide[$t]) ) {
    unset($sitewide[$t]); // удаляем из sitewide
    }
    }
    update_site_option('active_sitewide_plugins', $sitewide);
    } else {
    // single-site: active_plugins – индексированный массив
    $active = get_option('active_plugins', array());
    if ( empty( get_option('temp_mu_backup_active_plugins') ) ) {
    add_option('temp_mu_backup_active_plugins', $active);
    }
    $new = array_diff($active, $targets);
    // Если изменений нет, не переписываем
    if ( count($new) !== count($active) ) {
    update_option('active_plugins', array_values($new));
    }
    }
    // Пометка о завершении – можно удалить при необходимости, чтобы повторить
    add_site_option($option_flag, 1);
    

    Примечание: этот код удаляет плагины из списков активных – при этом хуки деактивации (register_deactivation_hook) не выполняются. Для корректного выполнения deactivation hooks понадобился бы доступ к файлам админки.

  3. Права и безопасность:

    • Установите права файла 644, владелец – тот же, что у других файлов WordPress.

    • Удалите файл temp-deactivate.php сразу после проверки сайта.

  4. Проверка результата:

    • Просмотрите опцию: SELECT option_value FROM wp_options WHERE option_name = 'active_plugins'; (single-site).

    • Для multisite: SELECT option_value FROM wp_site_options WHERE option_name = 'active_sitewide_plugins';

    • Если есть доступ к WP-CLI: wp option get active_plugins --format=json или wp site option get active_sitewide_plugins --format=json.

  5. Откат и восстановление:

    1. Если нужно вернуть всё как было – загрузите краткий MU-плагин с кодом восстановления или выполните SQL-запросы, подставив резервные значения из опций temp_mu_backup_active_plugins / temp_mu_backup_active_sitewide_plugins:

      // Пример восстановления (single-site)
      $backup = get_option('temp_mu_backup_active_plugins');
      if ( $backup ) {
      update_option('active_plugins', $backup);
      delete_option('temp_mu_backup_active_plugins');
      delete_site_option('temp_mu_deactivate_done');
      }
    2. Удалите MU-файл и удалите временные backup-опции после подтверждения работоспособности.

  6. Рекомендации при проблемах с сайтом после деактивации:

    • Если сайт остаётся недоступен, восстановите активные плагины из резервной опции и временно переименуйте папку с плагинами через FTP, чтобы исключить проблему файлового уровня.

    • Проверьте логи PHP (error_log) в корне хостинга – часто указывают конкретный конфликт.

Использование WP-CLI для управления плагинами без доступа к админке

Использование WP-CLI для управления плагинами без доступа к админке

Основные команды для работы с плагинами:

Команда Описание Пример
wp plugin list Отображает список всех установленных плагинов с их статусом (активен/неактивен) wp plugin list
wp plugin deactivate <имя_плагина> Деактивирует указанный плагин wp plugin deactivate contact-form-7
wp plugin activate <имя_плагина> Активирует указанный плагин wp plugin activate akismet
wp plugin update <имя_плагина> Обновляет указанный плагин до последней версии wp plugin update woocommerce
wp plugin delete <имя_плагина> Удаляет указанный плагин с сервера wp plugin delete hello-dolly

Для массовой деактивации всех плагинов используется:

wp plugin deactivate --all

Если сайт не загружается из-за конфликта плагина, рекомендуется сначала выполнить wp plugin list, чтобы определить проблемный плагин, и затем деактивировать его.

WP-CLI также поддерживает фильтры по статусу, например, чтобы вывести только активные плагины:

wp plugin list --status=active

При работе с WP-CLI важно проверять права пользователя на сервере: команды должны выполняться от пользователя, обладающего доступом к файлам WordPress. Неправильные права могут привести к ошибкам активации или деактивации.

Вопрос-ответ:

Можно ли отключить плагины WordPress без входа в админку?

Да, это возможно. Если доступ к админ-панели заблокирован или сайт не загружается из-за ошибки плагина, можно отключить расширения через файловую систему сайта или базу данных. Например, через FTP или файловый менеджер хостинга можно переименовать папку плагина, что приведет к его деактивации. Также можно отключить все плагины через базу данных, изменив значение в таблице wp_options.

Как отключить конкретный плагин через FTP?

Для этого нужно подключиться к серверу через FTP-клиент, перейти в директорию wp-content/plugins, найти папку нужного расширения и переименовать её. Можно добавить к названию суффикс вроде «_off». WordPress автоматически отключит плагин, так как не сможет найти его в стандартной папке. После этого сайт должен работать, и можно будет решить, обновлять или удалять расширение.

Можно ли отключить все плагины сразу без админки?

Да, это можно сделать через FTP или файловый менеджер хостинга. Нужно открыть директорию wp-content, где находится папка plugins, и переименовать её, например, в plugins_old. WordPress перестанет загружать все плагины. После восстановления имени папки можно включать расширения по одному, чтобы определить проблемный.

Как отключение плагинов через базу данных работает?

Все активные расширения хранятся в таблице wp_options в поле active_plugins. Чтобы отключить один или несколько плагинов, нужно зайти в базу данных через phpMyAdmin или другой инструмент, найти опцию active_plugins и удалить из списка нужный элемент. Это мгновенно деактивирует выбранные расширения, не трогая остальные файлы сайта.

Что делать, если сайт полностью не загружается из-за ошибки плагина?

Если сайт не открывается и админка недоступна, сначала стоит отключить плагины через FTP или переименование папки plugins. Если проблема остаётся, можно по очереди переименовывать каждую папку плагина, чтобы выявить источник ошибки. Также можно проверить журнал ошибок сервера для уточнения, какой плагин вызывает сбой.

Ссылка на основную публикацию