讲解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+MSSQL分页的例子
Oct 09 PHP
php email邮箱正则
Oct 08 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
php中simplexml_load_string使用实例分享
Feb 13 PHP
php实现mysql数据库操作类分享
Feb 14 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
php获取url参数方法总结
Nov 13 PHP
thinkPHP学习笔记之安装配置篇
Mar 05 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
PHP6新特性分析
Mar 03 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
php中文语义分析实现方法示例
Sep 28 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
php实例分享之二维数组排序
2014/05/15 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
整理Python最基本的操作字典的方法
2015/04/24 Python
Python面向对象特殊成员
2017/04/24 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
Python如何实现FTP功能
2020/05/28 Python
纯css3实现的竖形无限级导航
2014/12/10 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
Otel.com:折扣酒店预订
2017/08/24 全球购物
韩国商务邀请函
2014/01/14 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
高中班主任心得体会
2016/01/07 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
Python编写nmap扫描工具
2021/07/21 Python