Просмотров: 679

Где WordPress хранит информацию об активированных плагинах?

Давно интересовался этим вопросом, но никак не было удобного случая, чтобы разобраться с ним. Наконец недавно представился случай, хотел бы поделиться своими наработками.

Итак, как известно, wordpress хранит информацию в базе данных. Когда вы активируете или деактивируете какой-либо плагин, wordpress всего лишь вносит в нее соответствующую запись.

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

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

Критическая ошибка

Произвести эту самую деактивацию можно будет, меняя содержимое соответствующей записи в базе данных.

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

Посмотрите следующий скриншот, чтобы увидеть, как это выглядит.

Где WordPress хранит информацию об активированных плагинах?

Обратите внимание, что данные хранятся в так называемом сериализированном виде, чтобы их можно было хранить в одной текстовой строке и не создавать отдельных записей в таблице.

a:5:{i:0;s:19:»akismet/akismet.php»;i:1;s:9:»hello.php»;i:2;s:33:»simple-slideshow/simpleslider.php»;i:3;s:44:»slideshow-jquery-image-gallery/slideshow.php»;i:4;s:27:»wp-pagenavi/wp-pagenavi.php»;}

В PHP существуют специальные функции, которые позволяют извлекать нужные данные из этой строки и вносить эти данные обратно.

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

Только будьте осторожны, внося правки. Здесь вы уже работаете с базой данных.

  • Nickolay

    Здравствуйте, Дмитрий. Я давний Ваш подписчик, постоянно слежу за рекомендациями, они всегда вовремя. Спасибо. Недавно на localhost в сайте установил плагин, а он удалил и администрирование и я не смог войти в админку. Теперь попытаюсь изменить. Спасибо

    • admin

      Здравствуйте, Николай. Рад, что мои заметки оказываются полезными.

      Есть еще один способ деактивировать все плагины. Временно переименуйте папку с плагинами, например на plugins1 и вы сможете войти в админку.

  • http://php-bce.ru/index.php Константин

    Также интересуюсь всеми плагинами WordPress, так как интересуюсь в сайтостроении и стараюсь узнать побольше о РНР программировании и изложить все в примерах кода для начинающих, как и сам.