Ответ 1
Попробуйте переименовать папку в плагине, а затем посмотрите, пропала ли ошибка (сначала сделайте резервное копирование). Если это не поможет, вот решение.
У меня есть wordpress script, wp-supercache, который мне нужно отключить (поскольку он кэшируется при отвратительной ошибке), однако ошибка приводит к ошибке перенаправления wp-admin, что означает, что я не могу зайдите на сайт, чтобы отключить плагин.
Любые советы? Я могу получить доступ к базе данных через cpanel.
Попробуйте переименовать папку в плагине, а затем посмотрите, пропала ли ошибка (сначала сделайте резервное копирование). Если это не поможет, вот решение.
Чтобы отключить определенный плагин, вы должны удалить его из сериализованной строки, в которой хранится список всех плагинов, которые установлены в столбце option_value
таблицы wp_options
, как описано @TimDurden. Необходимо изменить конкретное изменение формата, сделанное бесстыдно из Интернета:
a:4:{
i:0;s:19:"akismet/akismet.php";
i:1;s:36:"google-sitemap-generator/sitemap.php";
i:2;s:55:"google-syntax-highlighter/google_syntax_highlighter.php";
i:3;s:29:"wp-swfobject/wp-swfobject.php";
}
Этот первый набор символов - a:4
- обозначает массив и его длину. Также обратите внимание, что каждая строка в списке плагинов имеет индекс. Итак:
i:
Обновите значение в db, используя новую строку, которую вы создали из следующих шагов:
update wp_options set option_value=<new value> where option_id=<id of this option>
Обратите внимание, что имя вашей таблицы может не быть wp_options - у вас может быть префикс для добавления.
Вам нужно только переименовать папку в /wp -content/plugins/, и плагин будет автоматически деактивирован. Как только он будет деактивирован, вы сможете войти в систему.
Я написал немного exe в .dot для восстановления/удаления строки параметров из базы данных.
SELECT * FROM wp_options WHERE option_name = 'active_plugins';
UPDATE wp_options SET option_value = '[заменить внутри одинарных кавычек на ваш выход "WHERE option_name =' active_plugins ';
Поздний ответ, но ответ, поскольку он будет полезен кому-то в будущем. Все плагины хранятся в таблице wp_options сериализованным образом. U может редактировать это поле вручную. Или если вы несериализуете его, используя функцию, подобную php, используя unserialize(), вы получите массив. просто измените его, чтобы удалить плагин, который вы хотите удалить из этого массива, и сериализуйте его. затем обновите таблицу. Это оно. Если вы хотите узнать больше об этом здесь, это хорошая статья. Это объясняет все это.
Другой способ сделать это - вы можете сделать резервную копию сайта, а затем просто переименовать папку плагина под/wp-content/plugins/к другому имени. Таким образом, плагин будет отключен. Я не хочу удалять папку плагина, поскольку это может привести к ошибкам. После того, как шаг будет выполнен, войдите в свой сайт Wordpress и удалите плагин там
Используя этот код, вы можете активировать свой плагин из functions.php
:
function activate_plugin_via_php() {
$active_plugins = get_option( 'active_plugins' );
array_push($active_plugins, 'unyson/unyson.php'); /* Here just replace unyson plugin directory and plugin file*/
update_option( 'active_plugins', $active_plugins );
}
add_action( 'init', 'activate_plugin_via_php' );
Вам просто нужно изменить значения в записи "active_plugins" в базе данных. Вы можете найти процесс Здесь
SELECT option_value FROM wp_options WHERE option_name = 'active_plugins';
Скопируйте сериализованную строку результата с правой стороны и обновите с ней значение active_plugins.
UPDATE wp_options SET option_value = 'THE_NEW_SERIALIZED_STRING' WHERE option_name = 'active_plugins' LIMIT 1;
Чтобы отключить все плагины Wordpress на вашем сайте:
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';