最近做一个wordpress的企业模板,关注了一下查询次数这个东西!
在 footer.php 里添加了如下代码,以显示wordpress查询数据库次数及查询耗时:
<?php echo get_num_queries() . ' queries in ' . timer_stop(0) . ' seconds.'; ?>
结果显示首页查询30次,日志页查询达45次。。。真是郁闷,为了查看具体查询了数据库哪些内容,Google了一下,得到如下解决方法,这里总结出来:
首先在 wp-config.php 里添加如下代码:
define('SAVEQUERIES', true);
然后在 footer.php 里添加如下代码:
1、if (is_user_logged_in()) 用于判断当前访客是否已登录,也可以用 if (current_user_can('level_10')) 来判断是否为管理员登录,目的是为了不让游客查看到这些数据,此代码可省;
2、global $wpdb; 定义全局变量$wpdb,这是Wordpress默认的数据库类;
3、<pre></pre>将结果嵌套在HTML标签<pre>内;
4、print_r($wpdb->queries); 输出各次数据库查询的信息。
刷新首页或日志页,可看到类似如下的输出结果:
……下面的活儿就得自己分析了,看看哪些是可以删除,哪些是可以改进的!