讲解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&amp;&amp;mysql)三
Oct 09 PHP
php木马webshell扫描器代码
Jan 25 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php实现的简单数据库操作Model类
Nov 16 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
七种PHP开发环境搭建工具
Jun 28 PHP
php7中停止php-fpm服务的方法详解
May 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发送邮件类代码附详细说明
2008/07/10 PHP
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
js中this用法实例详解
2015/05/05 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
windows下python安装pip图文教程
2018/05/25 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
python 美化输出信息的实例
2018/10/15 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
努比亚手机官网:nubia
2016/10/06 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
闭幕式主持词
2014/04/02 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
解除租房协议书
2014/12/03 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
2016特色励志班级口号
2015/12/24 职场文书
党校培训学习心得体会
2016/01/06 职场文书
如何在向量化NumPy数组上进行移动窗口
2021/05/18 Python
浅谈Redis中的RDB快照
2021/06/29 Redis
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Selenium浏览器自动化如何上传文件
2022/04/06 Python
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python