WordPress 页脚显示查询次数、加载时间和内存占用的方法
在 WordPress 开发或性能调试时,了解页面的数据库查询次数、加载时间和内存占用情况非常有用。以下方法可以将这些信息显示在页面页脚或 HTML 源代码中。
1. 添加性能统计函数
将以下代码添加到当前主题的 functions.php 文件中:
// 显示页面查询次数、加载时间和内存占用
function performance( $visible = false ) {
$stat = sprintf(
'%d queries in %.3f seconds, using %.2fMB memory',
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024
);
echo $visible ? $stat : "";
}
这个函数会统计:
- 数据库查询次数:通过
get_num_queries()获取。 - 页面加载时间:通过
timer_stop(0, 3)获取(单位:秒,保留3位小数)。 - 内存峰值占用:通过
memory_get_peak_usage()获取并转换为 MB。
2. 调用性能统计函数
在需要显示的地方(例如主题模板文件),使用以下代码调用:
<?php if ( function_exists('performance') ) performance( false ); ?>
performance() 函数的参数说明:
false(默认):统计信息不会在前端页面显示,但会以 HTML 注释的形式输出在源代码中,便于调试而不影响页面外观。true:统计信息将直接显示在页面前端。
3. 自动在页脚加载(推荐)
如果你希望统计信息自动显示在页脚,可以将以下代码添加到 functions.php 文件中(确保你的主题模板文件如 footer.php 中包含 <?php wp_footer(); ?> 调用):
add_action( 'wp_footer', 'performance', 20 );
这行代码会将 performance() 函数挂载到 WordPress 的 wp_footer 钩子上,优先级为 20。默认情况下,函数会以 false 参数调用,即在 HTML 源码中输出注释。
4. 自定义显示方式
如果你希望页脚直接显示统计信息,可以修改挂载代码:
// 在页脚直接显示统计信息
add_action( 'wp_footer', function() {
if ( function_exists('performance') ) {
performance( true ); // 参数设为 true
}
}, 20 );
注意事项
- 此功能主要用于开发和调试环境,在生产环境中建议移除或仅以注释形式输出,以免暴露服务器信息。
- 确保你的主题支持
wp_footer()钩子,否则页脚加载将不生效。 - 代码中的
memory_get_peak_usage()函数需要 PHP 5.2+ 支持,现代 WordPress 环境通常都满足。 - 统计的内存占用是 PHP 脚本执行期间的峰值内存,单位为 MB。
通过以上方法,你可以方便地监控 WordPress 页面的性能指标,为优化提供数据参考。