或者说,同事. 需要帮助她打印出来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调试.的更多相关文章

  1. [改变自己wordpress.2]给wordpress加上简单debug sql调试.

    或者说,同事. 需要帮她打印出来sql 调试输出到页面sql 在这里,我们使用插件或一个的方式来启动配置文件wordpress的debug 在插件文件夹 wordpress/wp-content/pl ...

  2. # 【Python3练习题 003】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    # -------------------------------------------------## 所谓的“完全平方数”,就是开完根号仍然是整数.## 数学渣是这么思考的:假设这个数 i 在1 ...

  3. 当微信小程序遇到云开发,再加上一个类似 ColorUI 的模板,人人都能做小程序了

    作为一个 Java 程序员,早就想尝试一把微信小程序,但是一直苦于没有想法,再加上做一个漂亮的页面实在不太擅长. 由于自己比较喜欢历史,经常看历史方面的书.在一次梳理中国现有的朝代时,突然想到,要是可 ...

  4. java例题_13 加上100再加上168的完全平方数问题

    1 /*13 [程序 13 根据条件求数字] 2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 3 程序分析:在 10万以内判断,先将该数加 ...

  5. python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)

    day2 --------------------------------------------------------------- 实例003:完全平方数 题目: 一个整数,它加上100后是一个 ...

  6. 【AMAD】Pysnooper -- 别再用print进行debug了

    简介 动机 作用 用法 热度分析 源码分析 个人评分 简介 pysnooper是低配版debugger,别再用print进行debug了. 动机 想象一个场景,你的Python代码运行后不产生你要的效 ...

  7. 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难

    作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. 给WordPress的TinyMCE Advanced编辑器加上中文字体

    为TinyMCE编辑器增加中文字体并不复杂,只需要将将如下代码加到当前主题的functions.php文件中最后一个?>的前面即可: 不要忘记保存,然后更新一遍浏览器即可 //为TinyMCE编 ...

  9. kali 攻击wordpress + trunkey linux wordpress 安装方法

    Kali-linux攻击WordPress和其他应用程序   今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中.例如,他们经常使用WordPress作 ...

随机推荐

  1. ios block循环引用问题

    ios开发中,开了ARC模式,系统自动管理内存,如果程序中用到了block就要注意循环引用带来的内存泄露问题了 这几天遇到一个问题,正常页面dismiss的时候是要调用dealloc方法的,但是我的程 ...

  2. 安装Apache Felix OSGI Framework小记

    Felix是apache的开源OSGI服务框架,到 http://felix.apache.org/downloads.cgi 可以下载到最新的版本. 解压后目录结构如下: felix-framewo ...

  3. Mybatis在oracle、mysql、db2、sql server的like模糊查询

    <!-- oracle --> <select id="searchUserBySearchName" parameterType="java.lang ...

  4. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

  5. BI中事实表和维度表的定义

    一个典型的样例是,把逻辑业务比作一个立方体,产品维.时间维.地点维分别作为不同的坐标轴,而坐标轴的交点就是一个详细的事实.也就是说事实表是多个维度表的一个交点.而维度表是分析事实的一个窗体. 首先介绍 ...

  6. UVa 10616 - Divisible Group Sums

    称号:给你n数字.免去m一个,这使得他们可分割d.问:有多少种借贷. 分析:dp,D01背包. 背包整数分区. 首先.整点d.则全部数字均在整数区间[0,d)上: 然后,确定背包容量,最大为20*10 ...

  7. Android 增量更新实例(Smart App Updates)

    原地址:http://my.oschina.net/liucundong/blog/160436 官方说明 实现原理 实现 (1)生成差异包 (2)使用旧apk+差异包,在客户端合成新apk 注意事项 ...

  8. DataGirdView 设置单元格居中

    设置标题行居中: dgvShow.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter ...

  9. JavaFX 简单3D演示样例

    从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...

  10. 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 ...