我有一个wordpress脚本,wp-supercache,我需要禁用(因为它缓存了一个讨厌的错误),但是,错误导致wp-admin重定向失败,这意味着我无法进入该网站禁用该插件。
有什么建议吗?我可以通过cpanel访问数据库。
答案 0 :(得分:27)
尝试重新命名插件的文件夹,然后查看错误是否消失(当然首先进行备份)。如果这没有用,那么 here is the solution 。
答案 1 :(得分:20)
要禁用特定插件,您必须将其从存储所有插件列表的序列化字符串中删除 - 这些插件在option_value
表的wp_options
列中设置,如所讨论的那样通过@TimDurden。您必须进行的具体格式更改为taken shamelessly from teh Internet:
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:
使用您根据以下步骤构建的新字符串更新数据库中的值:
update wp_options set option_value=<new value> where option_id=<id of this option>
请注意,您的表名可能不是wp_options - 您可能需要添加前缀。
答案 2 :(得分:14)
您只需要重命名/ wp-content / plugins /中的文件夹,插件将自动取消激活。一旦取消激活,您就可以登录。
答案 3 :(得分:5)
SELECT option_value FROM wp_options WHERE option_name =&#39; active_plugins&#39;;
从右侧复制序列化结果字符串,并用它更新active_plugins值。
更新wp_options SET option_value =&#39; THE_NEW_SERIALIZED_STRING&#39; WHERE option_name =&#39; active_plugins&#39;限制1;
答案 4 :(得分:2)
我在.dot中写了一个小exe来修复/删除数据库中的选项字符串。
SELECT * FROM wp_options WHERE option_name =&#39; active_plugins&#39;;
答案 5 :(得分:1)
要停用您网站上的所有Wordpress插件:
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';
答案 6 :(得分:1)
另一种方法是你可以备份网站,然后只需将/ wp-content / plugins /下插件的文件夹重命名为其他名称。因此该插件将被禁用。 我不喜欢删除插件文件夹,因为它可能会导致错误。 完成该步骤后,登录您的wordpress站点并从那里删除插件
答案 7 :(得分:1)
您只需更改数据库中记录“active_plugins”中的值即可。您可以找到流程Here
答案 8 :(得分:0)
迟到的答案,但回答它将来对某人有用。所有插件都以序列化方式存储在wp_options表中。你可以手动编辑这个字段。或者如果你使用像php这样的函数使用unserialize()反序列化它,你将得到一个数组。只需修改它以删除要从该数组中删除的插件,然后将其序列化。然后更新表格。而已。如果您想了解更多信息,请here是一篇好文章。它解释了所有这些。
答案 9 :(得分:0)
使用此代码,您可以从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' );