主题,有人吗
我不针对«或«主题测试»。只需使用其他一些可能会发生冲突的插件(但我通常会在发生什么事情之前保持打开状态-你永远不会弄清楚所有的边缘情况)。
至少,您正在通过过滤器拦截/扩展/更改内容。那么,为什么要在修改时针对主题进行测试呢core functions?
如果你正在拦截the_content
例如,过滤器,那么为什么要查看主题呢?如果他们优先加入99999999
, 那么你无论如何都太迟了,他们在另一个版本中更改它的可能性太大了,你无论如何都无法遵循。
想象一下,您会检查每个过滤器,例如all
-钩子-跳起来,移动你的优先顺序,直到你不可能错过它,然后你会让系统屈服。这是可能的。但它在现实生活中不起作用。
调试
WordPress, 也
as PHP 船上有一堆错误处理的东西。这意味着
everything 如果出现故障,则将输出-只要它处于打开状态。无论如何都要在本地副本中这样做。。。和
abort in live code!
转储输出我最好的建议是简单地为自己构建一个非常整洁、简单的调试环境。当我编写类时,通常会将调试输出添加到任何包含的方法中。这样我就可以看到发生了什么以及什么时候发生了。
我为什么要这样做?
简单:错误将在某个步骤发生。因此,通常您会开始添加停止点,查看输出/返回的数据,然后向前一步,直到捕捉到错误。我只是通过一个简单的开关让我的生活变得更轻松,它允许我输出这个分步数据:每次在关机挂钩的元框中有一个选项卡。如果结果不是我所期望的,那么错误/错误的代码就发生在这之前。
检查输出/返回
这让我可以在任何事情失败的时候加入进来。它还允许我复制error prown安装,并查看发生了什么,而无需任何额外的努力。
检查挂钩另一件我经常用的东西var_dump( $GLOBALS[\'wp_filter\'][ current_filter() ];
看看还有什么附加到挂钩上,我现在正在跳的地方。
没有适当权限的用户所有者无意中忘记关闭调试工具,您可以从上面的评论中看到:我假设没有人在使用缓存插件时打开调试工具。在这种情况下:没有人能够提供帮助。
最后一句话,我为什么不测试一下丢失的挂钩等。?
有»Theme development standards« 每valid theme 应该遵循。如果他们没有,那么他们根本不在我的雷达上。想象一下,我会给一张便条,比如。_doing_it_wrong()
每种情况下都会有失败。这将使我的代码膨胀到原始大小的10倍左右,而无法捕获可能写错的所有内容。
现在想象一下,有人有一个非常糟糕的主题,我会用一个插件向她/他发送10条消息。如果我们都关心这个会发生什么?1000条消息?