[改变自己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作 ...
随机推荐
- ios block循环引用问题
ios开发中,开了ARC模式,系统自动管理内存,如果程序中用到了block就要注意循环引用带来的内存泄露问题了 这几天遇到一个问题,正常页面dismiss的时候是要调用dealloc方法的,但是我的程 ...
- 安装Apache Felix OSGI Framework小记
Felix是apache的开源OSGI服务框架,到 http://felix.apache.org/downloads.cgi 可以下载到最新的版本. 解压后目录结构如下: felix-framewo ...
- Mybatis在oracle、mysql、db2、sql server的like模糊查询
<!-- oracle --> <select id="searchUserBySearchName" parameterType="java.lang ...
- thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...
- BI中事实表和维度表的定义
一个典型的样例是,把逻辑业务比作一个立方体,产品维.时间维.地点维分别作为不同的坐标轴,而坐标轴的交点就是一个详细的事实.也就是说事实表是多个维度表的一个交点.而维度表是分析事实的一个窗体. 首先介绍 ...
- UVa 10616 - Divisible Group Sums
称号:给你n数字.免去m一个,这使得他们可分割d.问:有多少种借贷. 分析:dp,D01背包. 背包整数分区. 首先.整点d.则全部数字均在整数区间[0,d)上: 然后,确定背包容量,最大为20*10 ...
- Android 增量更新实例(Smart App Updates)
原地址:http://my.oschina.net/liucundong/blog/160436 官方说明 实现原理 实现 (1)生成差异包 (2)使用旧apk+差异包,在客户端合成新apk 注意事项 ...
- DataGirdView 设置单元格居中
设置标题行居中: dgvShow.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter ...
- JavaFX 简单3D演示样例
从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...
- cxf和jboss eap 6.2版本号冲突
升级jboss版本号到jjboss-eap-6.2之后,启动项目时CXF出现异常. 在jboss-as-7.1.1.Final.apache-tomcat-7.0.37以及jboss-eap-6.1 ...