WordPress中已经给我们添加了调试模式,只是默认是关闭的,那么我们在开发主题或者是插件的时候就需要打开这个Debug调试模式,优化我们的插件或者主题的时候也需要打开,以便检测出隐藏在前端页面背后的Bug。
调试模式
调试模式下WordPress会显示哪些函数使用有问题,还可以显示执行了多条SQL查询等,对于优化WordPress有很大的帮助,例如下面的提示
调试模式配置
WP_DEBUG
WordPress中的这个 WP_DEBUG常量相信大部分开发者都了解,在wp-config.php 文件下通过对定义这个常量即可开启debug 模式。
//开启 on wp_debug define('WP_DEBUG', true); //关闭 wp_debug define('WP_DEBUG', false);
WP_DEBUG_LOG
通过定义这个常量,WordPress 中会输出debug 的错误信息在wp-content 文件夹下以debug.log 保存,这样你就就可以方便快捷地查看所有的错误并进行修改。
define('WP_DEBUG_LOG', true);
WP_DEBUG_DISPLAY
默认的话,在debug 模式下,WordPress 会将大部分的错误显示在前端屏幕上(亦有部分可以通过浏览器的查看源代码发现)。如果你不想显示,可以通过下面的变量关闭之:
define('WP_DEBUG_DISPLAY', false);
SCRIPT_DEBUG
默认的话,WordPress对于核心的脚本文件或样式文件会进行压缩化的处理,但在实际开发中,你可能因为要寻找脚本冲突问题而希望可以是不要压缩,那么通过定义这个变量就可。
define('SCRIPT_DEBUG', true);
SAVEQUERIES
如果要debug 数据库查询,那么你可以使用SAVEQUERIES 这个变量,它会保存每一个数据条的查询因此可能会导致你的开发环境中拖慢网站速度,因此请确保在的确需要的时候才开启它(对二次开发非常有帮助SQL查询语句问题定位):
define('SAVEQUERIES', true);
开启SAVEQUERIES会使WordPress将当前页面执行的SQL查询保存到一个数组中,数组保存了每条查询的语句、调用该查询的函数以及执行时间。只要打印这个数组就能了解当前页面所有的SQL查询了,要获取这些查询可以通过$wpdb 变量输出之:
//下面的代码为了安全性,只有登录用户并且是管理员才会显示出来。 if (current_user_can('administrator')){ global $wpdb; echo "<pre class="line-numbers language-php"><code class="language-php">"; print_r($wpdb->queries); echo "</pre>" }
如果本文对你有帮助,欢迎打赏本站