讲解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 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
如何让CI框架支持service层
Oct 29 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
PHP之密码加密的几种方式
Jul 29 PHP
php插件Xajax使用方法详解
Aug 31 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 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/05/16 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
js的2种继承方式详解
2014/03/04 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
Python中防止sql注入的方法详解
2017/02/25 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
Python如何访问字符串中的值
2020/02/09 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
python判断变量是否为列表的方法
2020/09/17 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
新学期校长寄语
2014/01/18 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS