讲解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 相关文章推荐
php的access操作类
Apr 09 PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
PHP图像处理类库MagickWand用法实例分析
May 21 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
Dec 22 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
laravel dingo API返回自定义错误信息的实例
Sep 29 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
PHP中echo与print区别点整理
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
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
Python实现简单拆分PDF文件的方法
2015/07/30 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
django基于restframework的CBV封装详解
2019/08/08 Python
python 字典的打印实现
2019/09/26 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
广告业务员岗位职责
2014/02/06 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android