讲解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面向对象全攻略 (七) 继承性
Sep 30 PHP
php的memcached客户端memcached
Jun 14 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
PHP中使用hidef扩展代替define提高性能
Apr 09 PHP
PHP5.3新特性小结
Feb 14 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
由php中字符offset特征造成的绕过漏洞详解
Jul 07 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 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 获取页面中指定内容的实现类
2014/01/23 PHP
php blowfish加密解密算法
2016/07/02 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
ES6(ECMAScript 6)新特性之模板字符串用法分析
2017/04/01 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
Python3实现从文件中读取指定行的方法
2015/05/22 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python制作动态字符图的实例
2019/01/27 Python
Python对象转换为json的方法步骤
2019/04/25 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
python实现与redis交互操作详解
2020/04/21 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
合伙协议书范本
2014/04/21 职场文书
企业领导对照检查材料
2014/08/20 职场文书
新郎接新娘保证书
2015/05/08 职场文书
六一活动主持词
2015/06/30 职场文书
2015初中团委工作总结
2015/07/28 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL