6 个帮助你开发 WordPress 的实用插件

   日期:2024-12-27    作者:wjxyhg 移动:http://mip.riyuangf.com/mobile/quote/66367.html

这篇文章的作者链接是:https://www.endskin.com/debug-plugins/ 
写的比较好,没有经过作者的允许就转载过来了,对作者表示感谢,侵权删

在开发 WordPress 主题或者插件的时候,对代码进行调试是很麻烦的工作。尤其是在功能需求比较深入之后,代码会越来越复杂,联动的模块也比较多,如果不谨慎的一步步调试,等到最终出 BUG 之后再想发现是哪里不对,是非常浪费时间的。

之前我一直使用 var_dump() 打印变量加上 die() 结束程序,简单粗暴的获取我想要的信息,但是这样效率真的非常低,因为经常需要到 WordPress 核心中去寻找相关文件,添加调试代码。在需要修改数据来调试的时候,更是得反复添加各种临时写的代码,来回在编辑器切换文件和光标,有时候打开的东西实在太多,都忘了一开始想要干什么……

后来,我发现了一些非常好用的调试工具,可以帮我更轻松的完成这些复杂的调试工作,除了 PHP 本身的调试工具之外,本文我将主要介绍专为辅助开发而设计的 WordPress 插件,全部都是曾经帮助过我解决问题的精品插件。

在正式开始之前,我先把即将介绍的插件统一进行一个大致的归类,单独介绍每个插件的时候,都会提到它拥有的一个或多个分类,方便大家找到自己想要的插件。

  1. 「信息获取」:即时获取有用的开发信息,并且通过清晰的方式呈现出来,有些会额外提供一些方便浏览的小功能,比自己直接打印变量友好的多。
  2. 「数据分析」:通过对一些数据或文件进行分析,找出程序存在的问题,比如性能问题和安全问题,帮助你优化改进和修复 BUG。
  3. 「调试操作」:创造调试程序的环境,解决手忙脚乱改东改西的困扰;很多这种插件对普通用户也有一定的使用价值,线上网站中也能用得到。
  4. 「错误记录」:记录在程序运行中出现的一些错误,并且生成日志,在人工不能及时发现问题的时候,记录下程序存在的隐患。

另外,如果大家正在使用文章中没有提到的,并且是开发调试相关的好插件,可以在留言中分享出来,方便更多的人

这是一个非常典型的「信息获取」类插件,可以在程序运行过程中记录下数据库查询、钩子、脚本和 HTTP 请求等信息,然后在页面下方生成清晰的表格,让我们可以方便、快速的获取这些信息,无论前台还是后台。

另外,与此插件功能类似的还有一个叫做 Debug Objects 的插件,但是我下载之后发现并没有比 Query Monitor 多出什么特别的好功能,而且 UI 排版设计的不太好,像一个半成品,就专门不推荐给大家了,有兴趣的同学可以自己去下载看一看。

这个插件用来记录过时组件的使用情况,是一个典型的「错误记录」类插件。如果有人使用了过时的函数、文件和函数参数,插件就会把它记录下来,并且同时记录下调用的地点和时间,并且在查看的时候给出代替方法,方便你去修改。

所以,在开发环境中安装 Log Deprecated Notices 插件,并且时常去看看吧!顺便说一句,以上的三个插件均是在 WordPress 的官方文档中提到过的,推荐安装尝试一下。

如果你曾经开发过需要借助定时任务完成的功能,很可能会和我产生一样的困扰,那就是:调试起来非常困难。首先,要测试好能否在各种情况下成功添加一条定时任务进入队列,还要确保定时执行的函数能够顺利完成它的任务,也得反复思考和测试各种参数是否合理,以及由此引起的性能问题。最重要的是,这些信息都不是直接摆在你面前的,需要手动翻看数据库里的各种信息,反复添加删除来测试,麻烦的让人头疼。

直到我发现了 WP Crontrol 插件,它是一个集「信息获取」和「调试操作」为一体的定时任务调试插件,完美的解决了上边提到的问题,能帮助我们节省大量时间,轻松调试定时任务。

截止文章发布时,插件的最新版本 1.3 有一个小 BUG:使用立即运行定时任务功能时,如果该定时任务本身的下次运行时间在 10 分钟之内,就不会立即运行该定时任务。

BUG 产生的原理在于:插件实现立即运行的机制是创建一个同样的定时任务,然后下次运行时间设置为当前,这样的话,如果原有定时任务和新建的定时任务相差不超过 10 分钟,WordPress 就会触发保护机制,不会重复添加时间过于相近的相同的定时任务,导致运行失败。

经常会有一些同学找到我,说自己的网站出现了一些不知道怎么产生的故障,这时我一般会建议他们切换回默认的主题、停用所有插件,来排查问题出在谁身上。

最终,大多数情况都是某些插件出现了 BUG 或者和别的什么产生了冲突,这时候只能逐一的启用插件,找出罪魁祸首。一般需要在插件列表页启用一个插件,然后再切换到出故障的页面刷新,接着再切换回插件列表页,反复循环。如果你安装的插件很多,或者网站速度比较慢,这个排查过程会非常耗时。

在开发和用户相关的功能时,经常需要切换不同的用户来测试功能,比如功能权限是否正常,以及用户之间能否完成互动等等。来回切换不同的用户非常麻烦,需要反复的注销、登录,这时候就可以使用具有「调试操作」功能的 User Switching 插件来帮助我们。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号