我做了一些愚蠢的事。为了测试一些东西,我创建了几个插件,在测试期间,我想我重命名了插件。现在我删除了插件,但仍然收到一条错误消息,说找不到插件:
The plugin something else has been deactivated due to an error: Plugin file does not exist.
我搜索了数据库,在wp\\u选项中有一个activate\\u plugins条目。它包含以下内容:
a:4:{i:0;s:23:"bandpress/bootstrap.php";i:3;s:56:"posts-from-single-category-widget/post_from_category.php";i:4;s:15:"something else ";i:5;s:68:"syntax-highlighter-with-add-button-in-editor/syntaxhighlighterpp.php";}
所以,我想我需要删除这个字段的“其他”部分,但我不知道应该(或不应该)删除哪些部分。在不影响其他插件的情况下,我需要删除哪个部分来消除错误消息?
最合适的回答,由SO网友:s_ha_dum 整理而成
斯库巴·凯的回答中的方法在技术上是可行的,但很容易出错。小错误将导致数据无法正确取消序列化。最好使用PHP“编辑”序列化数据:
$str = \'a:4:{i:0;s:23:"bandpress/bootstrap.php";i:3;s:56:"posts-from-single-category-widget/post_from_category.php";i:4;s:15:"something else ";i:5;s:68:"syntax-highlighter-with-add-button-in-editor/syntaxhighlighterpp.php";}\'; // copies from database
$strar = unserialize($str);
var_dump($strar); // find the key in the var_dump
unset($strar[4]); // remove the key you need to remove
echo serialize($strar); // copy and paste this back into the database
通过使用
get_option
和
update_option
.
但是还有其他方法可以删除顽固的插件。首先想到的也是最简单的,就是使用FTP从wp-content/plugins
目录
SO网友:Scuba Kay
所以我解决了我的问题。方法如下:
a:4:{
i:0;s:23:"bandpress/bootstrap.php";
i:3;s:56:"posts-from-single-category-widget/post_from_category.php";
i:4;s:15:"something else ";
i:5;s:68:"syntax-highlighter-with-add-button-in-editor/syntaxhighlighterpp.php";
}
我发现每个激活的插件都是在I和;,因此,通过删除以下错误消息,我的错误消息消失了:
i:4;s:15:"something else ";
[编辑]
我也应该把a:4改成a:3。我没有,结果是:0{}。然而,在重新激活插件后,我又回到了原来的状态。