笔者近日需要调试wordpress的一个问题,通过多种方法测试仍然没有找到问题所在,只能被迫查看源代码。
而实际上可以考虑开启wordpress的debug模式。该模式的设置如下:
在wordpress目录下有wp-config.php文件,该文件中有一个参数需要修改:
define( ‘WP_DEBUG’, false);
修改为:
define( ‘WP_DEBUG’, true );
即可开始调试模式。
另外还有其他一些参数设置,可以参考如下:
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>";