在开发插件时,我通常在公开发布之前用以下主题测试它:
有没有其他的建议,你应该测试你的插件,以检查兼容性?
发布于 2012-09-03 14:48:44
我不对主题进行测试。只是与其他可能冲突的插件(但我通常留到发生一些事情-你永远找不出所有的边缘情况)。
至少,您正在通过过滤器拦截/扩展/更改内容。那么,当您修改核心功能时,为什么要针对主题进行测试呢?
例如,如果您正在拦截the_content
过滤器,那么为什么要查看主题呢?如果他们加入了优先级99999999
,那么你无论如何都太晚了,他们在另一个版本中修改它的可能性很高,你无论如何都无法跟上。
想象一下,你会检查每一个过滤器--比如all
-hook --然后移动你的优先级,直到你不可能错过它,然后你就会让系统崩溃。这是可能的。但它在真实生活中行不通。
WordPress,以及作为PHP有一堆错误处理的东西在船上。这意味着,所有失败的东西都会被输出--只要它是打开的。无论如何,在你当地的副本里.并在现场代码中中止!
我最好的建议是简单地构建一个非常整洁和简单的调试环境。编写类时,通常会将调试输出添加到任何包含的方法中。这样我就能看到发生了什么,什么时候发生。
我为什么要这么做?
简单:错误会在某一步发生。因此,通常您将开始添加要停止的点,查看输出/返回的数据,然后继续前进,直到捕获错误为止。我只是通过一个简单的开关让我的生活变得更简单,这样我就可以输出这个分步的数据:每次关闭钩子中的元框中的一个选项卡。如果结果与我所预期的不一样,那么错误/错误的代码在此之前就会发生。
这让我可以在有什么事情失败的时候跳进去。它还允许我复制错误的内置安装,并查看在没有任何额外努力的情况下会发生什么。
另一件事,我经常使用它的var_dump( $GLOBALS['wp_filter'][ current_filter() ];
,看看什么是附加到钩子,我现在跳进去。
当您查看我是如何做到这一点的-- 使用动态图像调整插件的大小 --一个更好的TimThumb (替换)插件--那么您将看到我如何避免输出
正如您可以从上面的评论中看到的那样:我假设在使用缓存插件时,没有人打开过调试工具。在这种情况下:没有人能帮上忙。
至少它是开源的。如果有真的是某个穴居人干的..。如果事情失败了那不是你的错。你抓不到任何边缘的案子。:)
为什么我不测试一下是否丢失了钩子等等?
每个有效的主题都应该遵循主题发展标准。如果他们不知道,那他们就不在我的雷达上了。想象一下,我会给你一个便条,例如,_doing_it_wrong()
,对于每一种情况,都有一些失败的地方。这会使我的代码膨胀到大约。10倍的原始大小-没有捕捉所有可能写错的东西。
现在想象一下,有人有一个非常糟糕的主题,我会用一个插件向她/他发送10条信息。如果我们都关心这个会怎么样? 1.000条信息?
发布于 2012-09-03 14:15:55
我试验的是:
我也测试所有流行的缓存插件(他们喜欢搞砸东西)。
编辑:哦和插件,提供移动版本的网站。
https://wordpress.stackexchange.com/questions/63434
复制相似问题