讲解WordPress开发中一些常用的debug技巧


Posted in PHP onDecember 18, 2015

在开发过程中,调试代码是非常重要的工作,而掌握一些 WordPress 的调试技巧,可以更好的进行调试。比如,在本地开发环境,你可能需要把全部的代码警告信息全部输出出来,方便修改代码不合理的地方。

本文将讲解 WordPress 的所有调试方法,如果你是开发者,一定要掌握这些技巧,可以大大提高效率。

调试模式的开启需要在根目录的 wp-config.php 文件添加一些常量,所以下边介绍的所有代码都添加到根目录的 wp-config.php 文件。

WP_DEBUG

WP_DEBUG 是一个 WordPress 的常量,把他设为 True 之后,WordPress 会进入开发者模式,它会把所有有关开发的提示都输出到屏幕上。

我非常建议本地的开发环境里启用 WP_DEBUG,方便开发。

//启用开发者模式
define( 'WP_DEBUG', true );

WP_DEBUG_LOG

如果你想把 WordPress 运行中出现的错误全部记录下来,可以开启 WP_DEBUG_LOG,开启后,所有的错误都会被记录下来,存储到 wp-content/debug.log 文件。

记录错误的前提是需要开启 WP_DEBUG 模式,只有开启 WP_DEBUG 才会产生错误。

//开启错误记录
define( 'WP_DEBUG_LOG', true );

讲解WordPress开发中一些常用的debug技巧

WP_DEBUG_DISPLAY

如果你想把 WP_DEBUG 模式产生的错误只通过 WP_DEBUG_LOG 记录而不显示在屏幕上,可以在开启 WP_DEBUG_LOG 和 WP_DEBUG 的时候再开启 WP_DEBUG_DISPLAY。

//阻止错误显示在屏幕上
define( 'WP_DEBUG_DISPLAY', true );
SCRIPT_DEBUG

默认情况下,WordPress 后台会使用压缩并合并后的 JS 和 CSS 文件。

有时候为了调试,我们可能不想让后台使用压缩的 CSS 和 JS 文件,这时可以把 SCRIPT_DEBUG 设置成 True。

//禁用压缩的 CSS 和 JS 文件
define( 'SCRIPT_DEBUG', true );

SAVEQUERIES

如果你要优化数据库查询次数,SAVEQUERIES 是一个非常重要的东西,把 SAVEQUERIES 设为 True,WordPress 会记录每一次数据库查询的 Sql 语句和花费的时间。

//记录数据库查询
define( 'SAVEQUERIES', true );

开启记录之后,可以使用 $wpdb 的 queries 变量来获取所有数据查询,把下边的代码放到主题的 footer.php 文件里即可看到所有数据库查询。

<pre><?php var_dump( $GLOBALS['wpdb']->queries ); ?></pre>

讲解WordPress开发中一些常用的debug技巧

PHP 相关文章推荐
oracle资料库函式库
Oct 09 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
php实现mysql封装类示例
May 07 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 #PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 #PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 #PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 #PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 #PHP
详解 PHP加密解密字符串函数附源码下载
Dec 18 #PHP
PHP封装的字符串加密解密函数
Dec 18 #PHP
You might like
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
常用PHP封装分页工具类
2017/01/14 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
2016/07/22 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
微信小程序实现联动选择器
2019/02/15 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
Python3里的super()和__class__使用介绍
2015/04/23 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
家长会演讲稿范文
2014/01/10 职场文书
绩效工资分配方案
2014/01/18 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
班主任寄语大全
2014/04/04 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
快递员岗位职责
2014/09/12 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2014年预算员工作总结
2014/12/05 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书