讲解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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
UTF8编码内的繁简转换的PHP类
Jul 09 PHP
PHP header函数分析详解
Aug 06 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
解析linux下安装memcacheq(mcq)全过程笔记
Jun 27 PHP
PHP中判断变量为空的几种方法分享
Aug 26 PHP
Yii2 加载css、js 载静态资源的方法
Mar 10 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
php 将json格式数据转换成数组的方法
Aug 21 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 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 Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
php实现插入排序
2015/03/29 PHP
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
详解python函数传参是传值还是传引用
2018/01/16 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
python导入pandas具体步骤方法
2019/06/23 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
详解Python 最短匹配模式
2020/07/29 Python
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
师范生见习报告
2014/10/31 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
高三英语教学反思
2016/03/03 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL