开发插件时,是否可以自动确定运行该插件所需的最低WordPress版本?我想确保Requires标头正确无误,但是每次我调用新的核心函数时手动检查都是乏味且容易出错。 :


扫描插件中的所有文件。
根据new foo( [...] )foo::bar( [...] )bar( [...] )call_user_func( [...] )等语法解析所有类实例化和函数调用。
/>使用@since phpDoc标记解析WP源,以确定何时将这些类/函数中的每一个添加到WordPress。包含所有类/函数的WordPress。

我环顾四周,却找不到类似的东西,也没有时间自己编写。有人知道现有的解决方案吗?

评论

您是否看到过wordpress.org/extend/plugins/log-deprecated-notices

这将是一个好的开始,感谢您指出:)

@IanDunn如果您能够找到解决方案,请分享。 :)

我还没有找到解决方法。

我考虑得越多,WordPress似乎应该越多地构建它并针对存储库中的所有插件运行它,以便版本号永远对所有插件都是准确的。

#1 楼

我在http://wpseek.com/pluginfilecheck/

上找到了一种作为自动化服务的解决方案,它的确是正确的,所要求的包括生成使用函数列表并提出建议插件标题注释。

评论


太酷了,谢谢:)我想如果它本身是WordPress插件而不是Web服务会方便得多,但总比没有好。

–伊恩·邓恩
13年4月3日在23:12

不幸的是,它也是“每个文件”的-因此无法上传整个插件。但是仍然是非常有用的资源-很棒的发现!

–斯蒂芬·哈里斯(Stephen Harris)
13年4月14日在22:23

该服务现在支持上传zip文件,它将自动扫描其中的所有文件:)

–伊恩·邓恩
2014年11月5日15:23

有什么方法可以在构建期间添加此(de.wpseek.com/pluginfilecheck)或插件静态分析中的另一种替代方法,这样我就无需再去上述站点再次检查n,构建系统将每次提交时都会自动生成报告以及其他静态分析。

–learning_13
18年1月4日在5:09

#2 楼

更新:这不再准确。请参见carstenbach的答案。


好吧,答案似乎是“不,没有针对此的现有解决方案。”写一个,可能会有帮助:


问题中描述的一般过程
http://wordpress.org/extend/plugins/deprecation-checker/
http://wordpress.org/extend/plugins/log-deprecated-notices/
http://adambrown.info/p/wp_hooks/hook
http://planetozh.com/projects/ wordpress-functions-history / table_light.html

我认为Mark关于将功能内置到WordPress.org存储库中的评论是一个不错的主意,但这可能是社区必须首先创建的东西。为了证明它是有用的,在核心团队会考虑添加它之前。

#3 楼

嗯,这更多是一个起点,但是这里有一些不错的WP函数列表以及它们在其中添加/删除的版本。不幸的是,它仅上升到WP 3.0.1,但是如果您以3.0为基准进行拍摄,则至少会有所帮助-如果不在列表中,则会在以后添加。您可能想通过电子邮件发送给Ozh,并请他更新列表,如果我们中的一个人知道这一点,那么有人可以制作插件进行检查(例如反向弃用检查器)。 -亚当·布朗的《胡清单》!当前版本为3.3,而回溯到1.2.1,再也没有人会再运行了(发行日期2004年10月6日)。

评论


我将按版本(返回1.2.1!)添加Adam Brown的钩子列表,这也很适合进行检查。

–mrwweb
2012年5月7日17:16

感谢提供了Deprecation Checker插件的链接,如果我有时间编写此代码,它可能会提供一些有用的代码。

–伊恩·邓恩
2012年5月8日18:24

这是WPSE用户Brian Fegter的出色插件。

– SickHippie
2012年5月8日20:09

#4 楼

我认为答案的确在于弃用的通知-您应该使用WP_DEBUG true进行开发-是显示还是记录它们是您的调用,但是WP会在您使用弃用的功能时通知您。正如您所说,可以解析@since,但是工具只能带您走那么远-熟悉代码库和手动检查可能是解决方法。

评论


我认为您回答了问题的反面。这个问题想确定对当前支持的功能的支持程度如何(例如,您的插件使用的功能是在3.1中引入的,因此您的插件在早期版本中不起作用,但是该功能不会引发错误或通知因为现在已支持。)

–mrwweb
2012年5月7日16:23

您说的没错,为我发帖要劳累吧。然后我建议手动对照上一个主要版本进行检查,并将其用作任意起点,因为鼓励用户保持其WP为最新符合每个人的最大利益。一旦确定了起点,为了保持Requires版本的更新,提交消息可能是最好的查找方式,因为应该在其中进行任何避免过时的函数和方法的重构。

–克里斯·考克斯(Chris Cox)
2012年5月7日在16:54



看wordpress.org/about/stats,我想说3.2是一个不错的版本,因为任何早期版本在统计上都不重要。

–克里斯·考克斯(Chris Cox)
2012年5月7日17:10

感谢克里斯的想法,但是这里的主要推动力是获得自动化的解决方案。不过,您要指出3.2之前的版本在统计上并不重要。

–伊恩·邓恩
2012年5月8日在18:23

我会给您一笔交易-如果您放弃并写一份,请告诉我,如果我愿意写一份,请告诉您。这是一个好主意,并且将成为任何人工具箱中的有用工具。

–克里斯·考克斯(Chris Cox)
2012年5月8日22:24