自动执行已弃用的呼叫检查?

时间:2012-02-24 作者:EAMann

我最近开始修改并重新发布一些废弃的(但很重要的)WordPress插件。当我在修补其他bug的代码中穿行时,我的IDE为我突出显示了不推荐的函数调用,这太棒了!

当我找到它们并继续前进时,我会立即修复它们。

任何我没有捕获的内容都会通过日志弃用调用插件或设置调用WP_DEBUG 为真。

但这两种方法都非常无效。有了一个,我需要实际打开PHP文件并手动扫描每一行代码,以查找不推荐的调用。对于另一个,我需要等待WP调用不推荐的调用,然后再由系统标记它。

是否有一种更简单的方法或工具可以扫描WP插件和主题,并识别任何不推荐使用的功能?

4 个回复
最合适的回答,由SO网友:Brian Fegter 整理而成

你的问题激发了我的灵感,我创建了一个插件,几个月来我一直在尝试这个插件。我叫它弃用检查器。默认情况下,它会(递归地)扫描插件和主题目录,以查找不推荐使用的函数。函数列表直接来源于WP弃用文件。

然后,它输出一个很好的列表,包括行号、文件路径、旧函数和建议在其位置使用的函数。

有几个过滤器可以添加自定义路径和自定义不推荐使用的函数,供您自己使用。您还可以轻松关闭插件/主题目录扫描。

您可以在此处下载:http://coderrr.com/deprecation-checker/ (将很快在WP.org上发布)

激活后,浏览至工具管理菜单。

SO网友:Rarst

Ehm,Theme Check 插件?:)它是为主题设置的,但很容易使用部件:

require WP_PLUGIN_DIR . \'/theme-check/checkbase.php\';
$check = new Deprecated();
$path  = \'c:\\server\\www\\dev\\wp-content\\plugins\\deprecated.php\';
$files = array( $path => php_strip_whitespace( $path ) );
$check->check( $files, array(), array() );
var_dump( $check->getError() );
请注意,它有一系列不推荐使用的硬编码函数,这些函数可能满足您的需要,也可能不满足您的需要。

SO网友:SickHippie

嗯,最长的一点是收集所有弃用函数的列表。Wordpress。org有一个页面here, 但由于这可能是最新的,也可能不是最新的,我建议查看列出的5个文件并搜索“函数”,以获得更好的列表。在文本文件(每行一个函数名)中包含列表后,将该文本文件放入/wp内容中,并从该目录运行此命令(假设为*nix和ssh)-grep -rnf deprecatedfunctionlist.txt ./ > files.txt这将直接递归搜索/wp内容,并在该目录中输出一个文本文件,列出这些函数出现的文件和行(带有行号)。这样,您可以确切地看到哪些函数驻留在哪些文件中。我相信有一个更优雅的解决方案,但这应该让你开始!

SO网友:Samuel

由于不再支持主题检查器,我们可以使用新的"Log Deprecated Notices" 插件。

安装后,只需转到“工具->不推荐的调用”

结束

相关推荐

函数deactive_plugins不存在

我正在function deactivate_plugins does not exist 调用此函数时出错function deactivateSelf(){ deactivate_plugins(RSD_PLUGIN, true); //gives error: function deactivate_plugins does not exist header(\"Location: plugins.php?deactivate=true\"); //redirect