插件不能删除的原因是什么?

时间:2015-05-11 作者:Abel Melquiades Callejo

当我试图删除一个定制插件时,管理员wordpress页面变成了一个纯白色屏幕,没有错误消息。是什么导致了这种情况?

1 个回复
SO网友:s_ha_dum

虽然我不知道具体是什么代码造成的,但您的最后一条评论——“它在该插件的插件根目录中有这个uninstall.php”——让我非常清楚发生了什么。

如果没有在插件中运行代码就无法编写插件,那么插件应该创建一个名为“uninstall”的文件。基本插件文件夹中的“php”。如果存在此文件,则在卸载过程中将绕过卸载挂钩调用此文件。

使用“卸载”时。php“在执行之前,插件应该始终检查WP\\u UNINSTALL\\u plugin常量。WP\\u UNINSTALL\\u PLUGIN常量由WordPress在插件卸载期间的运行时定义,如果“UNINSTALL”,则该常量将不存在。直接请求php。使用卸载挂钩技术时,它也不会出现。WP\\u UNINSTALL\\u插件仅在卸载时定义。php文件位于插件文件夹中。

https://codex.wordpress.org/Function_Reference/register_uninstall_hook#uninstall.php

该文件要么有语法错误并触发致命错误,要么执行某些操作以防止删除。后来的行为对我来说似乎有点恶意,但我不能肯定。如果您要发布该文件中的代码,可能会有更好的答案。

结束

相关推荐

在加载plugins_后,get_plugins()不工作

知道为什么下面的代码function my_plugin_load() { get_plugins(); } add_action( \'plugins_loaded\', \'my_plugin_load\' ); 抛出此错误?Fatal error: 不应调用未定义的函数get\\u plugins()get_plugins() 定义在plugins_loaded 胡克开火了?如果不是,那么什么才是合适的钩子呢?(这个钩子应该启动插件的引导/加载过程)