[改变自己wordpress.2]至wordpress再加上简单的debug sql调试.
或者说,同事. 需要帮助她打印出来sql 调试输出到页面sql
在这里,我们使用插件或一个的方式来启动配置文件wordpress的debug
在插件文件夹 wordpress/wp-content/plugins/ 新建一个文件叫bt_debug_sql.php
<?php
/*
Plugin Name: Bt Debug Sql.
Plugin URI: http://www.btroot.com
Description: Show the sql at the frontpage.
Author: rainysia
Version: 1.0
Author URI: http://www.btroot.org
*/ /**
* Show debug Sql.
*
* @return void
*/
add_action('init', 'bt_debug_sql'); function bt_debug_sql() {
if (!defined('SAVEQUERIES')) {
define('SAVEQUERIES', true);
}
if (has_action('wp_footer')) {
add_action('wp_footer', 'snx_show_sql');
}
}
// show sql
function snx_show_sql(){
if (isset($_GET['debug']) && $_GET['debug'] == true) {
global $wpdb;
//echo '<pre>';
//print_r ($wpdb->queries);
$all_debug_queries = $wpdb->queries;
echo "<table>";
if (isset($all_debug_queries) && count($all_debug_queries) > 0) {
$total_time_cost = 0;
$large_time_cost = 0;
$large_sql_query = '';
$large_sql_num = 0;
$debug_file = false;
if (isset($_GET['debug_file']) && $_GET['debug_file'] == true) {
$debug_file = true;
}
echo '<tr style="font-weight:bold;"><td>Num</td><td>Times</td><td>SQL</td>';
echo $debug_file ? '<td>Include files</td><tr>' : '';
foreach ($all_debug_queries as $k => $v) {
// $v[0] is sql, $v[1] is time, $v[2] is relative file.
$total_time_cost += $v[1];
if ($large_time_cost <= $v[1]) {
$large_time_cost = $v[1];
$large_sql_query = $v[0];
$large_sql_num = $k + 1;
}
if (($k + 1) % 2 == 1) {
echo '<tr style="background-color:#8F9196;color:rgb(202, 227, 253);"><td style="font-weight:bold;text-align:center;">'.($k + 1).'</td>';
} else {
echo '<tr><td style="font-weight:bold;text-align:center;">'.($k + 1).'</td>';
}
echo '<td style="text-align:left;">'.sprintf("%.10f", $v[1]).'</td>';
echo '<td style="padding-left:6px;text-align:left;">'.$v[0].'</td>';
echo $debug_file ? '<td style="text-align:left;">'.$v[2].'</td>' : '';
echo '</tr>';
}
}
echo '<div style="text-align:left;">';
echo '<div style="widht:100%;height:3px;margin:10px 0;background:rgba(56, 83, 129, 0.85)!important; -moz-box-shadow:0px 0px 1px #c3c3c3; -webkit-box-shadow:0px 0px 1px #c3c3c3; -box-shadow:0px 0px 1px #c3c3c3;"></div>';
echo '<div>The whole sql queries cost:<span style="color:red;"> '.$total_time_cost.'s</span></div>';
echo 'The large sql is No.<span style="color:red;">'.$large_sql_num.'</span> cost: <span style="color:red;">'.$large_time_cost.'s</span><br /> <span style="color:rgb(194, 76, 95);background-color:rgb(208, 210, 218);">'.$large_sql_query.'</span><br />';
echo '<div style="widht:90%;height:3px;margin:10px 0px;background:rgba(128, 143, 158, 0.85)!important; -moz-box-shadow:0px 0px 1px #c3c3c3; -webkit-box-shadow:0px 0px 1px #c3c3c3; -box-shadow:0px 0px 1px #c3c3c3;"></div>';
echo "</table>";
echo '</div>';
}
}
这里的作用仅仅是为了让wordpress的SAVEQUERIES 静态变量设为true, 所以你也能够不这样, 直接在wp-config.php 配置文件中面加一句
define('SAVEQUERIES', true);
效果是一样.
接着在/wp-content/theme/你的主题/footer.php 最后一个</div> 前加上以下的代码来调用一次wp_footer();保存就可以.
<?php wp_footer();?
>
保存后就能够了. 然后去启用插件, 使用的时候, 在当前页面的url后跟?
debug=true 能够开启debug sql模式, 加debug_file=true会显示include的关联文件.
http://test.com/solutions/vwideformat/test/?debug=1 和
http://test.com/solutions/vwideformat/test/?debug=1&debug_file=1
的影响,如以下
[改变自己wordpress.2]至wordpress再加上简单的debug sql调试.的更多相关文章
- [改变自己wordpress.2]给wordpress加上简单debug sql调试.
或者说,同事. 需要帮她打印出来sql 调试输出到页面sql 在这里,我们使用插件或一个的方式来启动配置文件wordpress的debug 在插件文件夹 wordpress/wp-content/pl ...
- # 【Python3练习题 003】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
# -------------------------------------------------## 所谓的“完全平方数”,就是开完根号仍然是整数.## 数学渣是这么思考的:假设这个数 i 在1 ...
- 当微信小程序遇到云开发,再加上一个类似 ColorUI 的模板,人人都能做小程序了
作为一个 Java 程序员,早就想尝试一把微信小程序,但是一直苦于没有想法,再加上做一个漂亮的页面实在不太擅长. 由于自己比较喜欢历史,经常看历史方面的书.在一次梳理中国现有的朝代时,突然想到,要是可 ...
- java例题_13 加上100再加上168的完全平方数问题
1 /*13 [程序 13 根据条件求数字] 2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 3 程序分析:在 10万以内判断,先将该数加 ...
- python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)
day2 --------------------------------------------------------------- 实例003:完全平方数 题目: 一个整数,它加上100后是一个 ...
- 【AMAD】Pysnooper -- 别再用print进行debug了
简介 动机 作用 用法 热度分析 源码分析 个人评分 简介 pysnooper是低配版debugger,别再用print进行debug了. 动机 想象一个场景,你的Python代码运行后不产生你要的效 ...
- 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难
作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 给WordPress的TinyMCE Advanced编辑器加上中文字体
为TinyMCE编辑器增加中文字体并不复杂,只需要将将如下代码加到当前主题的functions.php文件中最后一个?>的前面即可: 不要忘记保存,然后更新一遍浏览器即可 //为TinyMCE编 ...
- kali 攻击wordpress + trunkey linux wordpress 安装方法
Kali-linux攻击WordPress和其他应用程序 今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中.例如,他们经常使用WordPress作 ...
随机推荐
- 解决Myeclipse在port占用,导致tomcat无法启动。(Linux)
本文来源于:http://blog.csdn.net/svitter 引文:http://www.2cto.com/os/201305/209285.html { ubuntu查看占用某port的程序 ...
- POJ2421 & HDU1102 Constructing Roads(最小生成树)
嘎唔!~又一次POJ过了HDU错了...不禁让我想起前两天的的Is it a tree? orz..这次竟然错在HDU一定要是多组数据输入输出!(无力吐槽TT)..题目很简单,炒鸡水! 题意: 告 ...
- Practical Common Lisp
Practical Common Lisp Practical Common Lisp
- vim高级编辑(一)
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- POJ 1166 The Clocks
高斯消元法第四个冠军,这个称号是非常令人兴奋~~ 题目大意: 给出9个钟表的状态.给出九种操作,问最少要操作几次能把全部的钟表调回12点. 解题思路: 对于9个钟表分别列方程,然后高斯消元就可以.因为 ...
- 取CPU序列号,获取网卡,取硬盘系列号,获取目录下的文件,强制删除目录
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)
原代码: <select id="edit-submitted-im-interesting-in" class="form-select required&quo ...
- spring集成 JedisCluster 连接 redis3.0 集群
最近在公司做了 jedisCluster整合spring 的配置, 分享如下 客户端采用最新的jedis 2.7 1. maven依赖: <dependency> <groupId& ...
- POJ 1703:Find them, Catch them(并用正确的设置检查)
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 30702 Accepted: ...
- SE 2014年4月30日
如图配置: SW1 SW2 SW3 SW4组成一环型网络 Sw2 和Sw4个存在两业务vlan(vlan 10 和vlan 20) 1.Smart Link 组1 的引用实例1(绑定VLAN 10 ) ...