WordPress 中的 Debug 调试模式和参数配置

发布于 2019-10-21 11:27:57 字数 1997 浏览 2516 评论 0

WordPress 中已经给我们添加了调试模式,只是默认是关闭的,那么我在开发主题或者是插件的时候就需要打开这个 Debug 调试模式,优化我们的插件或者主题的时候也需要打开,以便检测出隐藏在前端页面背后的 Bug。

调试模式

调试模式下WordPress会显示那些函数使用有问题,还可以显示执行了多条SQL查询等,对于优化 WordPress 有很大的帮助,例如下面的提示:

Notice: 自 2.0 版本起,已不建议给 has_cap 传入一个参数!插件和主题中,用户等级的使用已不被支持。请换用角色和权限。 in ....../wp-includes/functions.php on line 2998

可以看到,只是“不建议”,并不是完全不能用了,但是我们还是应该限制使用,接收这个建议。

调试模式配置

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 这个变量,它会保存每一个数据条的查询因此可能会导致你的开发环境中拖慢网站速度,因此请确保在的确需要的时候才开启它:

define('SAVEQUERIES', true);

开启SAVEQUERIES会使WordPress将当前页面执行的SQL查询保存到一个数组中,数组保存了每条查询的语句、调用该查询的函数以及执行时间。只要打印这个数组就能了解当前页面所有的SQL查询了,要获取这些查询可以通过$wpdb 变量输出之:

if (current_user_can('administrator')){
    global $wpdb;
    echo "<pre>";
    print_r($wpdb->queries);
    echo "</pre>";
}

上面的代码为了安全性,只有登录用户并且是管理员才会显示出来。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

文章
评论
84963 人气
更多

推荐作者

微信用户

文章 0 评论 0

小情绪

文章 0 评论 0

ゞ记忆︶ㄣ

文章 0 评论 0

笨死的猪

文章 0 评论 0

彭明超

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文