首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >您使用哪些主题来测试与插件的兼容性?

您使用哪些主题来测试与插件的兼容性?
EN

WordPress Development用户
提问于 2012-08-29 05:12:28
回答 2查看 96关注 0票数 1

在开发插件时,我通常在公开发布之前用以下主题测试它:

  • 自动化TwentyTen
  • 自动化TwentyEleven
  • 柯洛琳
  • 自动除尘
  • 贾斯汀·塔洛克
  • 贾斯汀·塔洛克( Justin Tadlock )新闻
  • 贾斯汀·塔洛克的原型
  • 复古-贾斯汀·塔洛克( Justin Tadlock )
  • 由ThemeID响应
  • PageLines by PageLines
  • 卡罗琳·摩尔的奶油
  • 按主题捕获框小组
  • 塞翁坦·辛哈

有没有其他的建议,你应该测试你的插件,以检查兼容性?

EN

回答 2

WordPress Development用户

发布于 2012-09-03 14:48:44

主题,有人吗?

我不对主题进行测试。只是与其他可能冲突的插件(但我通常留到发生一些事情-你永远找不出所有的边缘情况)。

至少,您正在通过过滤器拦截/扩展/更改内容。那么,当您修改核心功能时,为什么要针对主题进行测试呢?

例如,如果您正在拦截the_content过滤器,那么为什么要查看主题呢?如果他们加入了优先级99999999,那么你无论如何都太晚了,他们在另一个版本中修改它的可能性很高,你无论如何都无法跟上。

想象一下,你会检查每一个过滤器--比如all-hook --然后移动你的优先级,直到你不可能错过它,然后你就会让系统崩溃。这是可能的。但它在真实生活中行不通。

Debug

WordPress,以及作为PHP有一堆错误处理的东西在船上。这意味着,所有失败的东西都会被输出--只要它是打开的。无论如何,在你当地的副本里.并在现场代码中中止!

转储输出

我最好的建议是简单地构建一个非常整洁和简单的调试环境。编写类时,通常会将调试输出添加到任何包含的方法中。这样我就能看到发生了什么,什么时候发生。

我为什么要这么做?

简单:错误会在某一步发生。因此,通常您将开始添加要停止的点,查看输出/返回的数据,然后继续前进,直到捕获错误为止。我只是通过一个简单的开关让我的生活变得更简单,这样我就可以输出这个分步的数据:每次关闭钩子中的元框中的一个选项卡。如果结果与我所预期的不一样,那么错误/错误的代码在此之前就会发生。

检查输出/返回

这让我可以在有什么事情失败的时候跳进去。它还允许我复制错误的内置安装,并查看在没有任何额外努力的情况下会发生什么。

检查钩

另一件事,我经常使用它的var_dump( $GLOBALS['wp_filter'][ current_filter() ];,看看什么是附加到钩子,我现在跳进去。

从未输出活动安装中的错误

当您查看我是如何做到这一点的-- 使用动态图像调整插件的大小 --一个更好的TimThumb (替换)插件--那么您将看到我如何避免输出

  • 没有正确特权的用户
  • 忘记不小心关闭调试设备的所有者
  • 客人

正如您可以从上面的评论中看到的那样:我假设在使用缓存插件时,没有人打开过调试工具。在这种情况下:没有人能帮上忙。

结论

至少它是开源的。如果有真的是某个穴居人干的..。如果事情失败了那不是你的错。你抓不到任何边缘的案子。:)

--最后一个词

为什么我不测试一下是否丢失了钩子等等?

每个有效的主题都应该遵循主题发展标准。如果他们不知道,那他们就不在我的雷达上了。想象一下,我会给你一个便条,例如,_doing_it_wrong(),对于每一种情况,都有一些失败的地方。这会使我的代码膨胀到大约。10倍的原始大小-没有捕捉所有可能写错的东西。

现在想象一下,有人有一个非常糟糕的主题,我会用一个插件向她/他发送10条信息。如果我们都关心这个会怎么样? 1.000条信息?

票数 3
EN

WordPress Development用户

发布于 2012-09-03 14:15:55

我试验的是:

  • TwentyTen
  • TwentyEleven
  • 奶油
  • PageLines
  • 创世记主题
  • 伍迪主题
  • 一些定制的主题,我已经做了(并将在某个阶段发布)故意设计,以测试插件的做法错误的事情。因为有太多糟糕的主题作者存在,所以我测试的一些东西是:
    • get_header之前的空白/内容
    • 无get_header
    • 无wp_head
    • 将jQuery版本从捆绑版本更改为管理面板中的旧fu* up版本
    • 可笑的是,在插件页面标题后自动插入的大横幅-是的,我在看你,JetPack
    • 打开error_reporting(E_ALL)

我也测试所有流行的缓存插件(他们喜欢搞砸东西)。

编辑:哦和插件,提供移动版本的网站。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/63434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档