讲解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循环跳出的问题
Jul 01 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
php 多文件上传的实现实例
Oct 23 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
Aug 10 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 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开发需要注意的安全问题
2010/09/01 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
一些常用的JS功能函数代码
2009/06/23 Javascript
js function定义函数使用心得
2010/04/15 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
python中defaultdict的用法详解
2017/06/07 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Python实现像awk一样分割字符串
2020/09/15 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
酒店营销策划方案
2014/02/07 职场文书
不错的求职信范文
2014/07/20 职场文书
忠诚教育心得体会
2014/09/03 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
项目合作意向书
2015/05/08 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript