博客 / WordPress/ WordPress 页脚显示查询次数、加载时间和内存占用的完整方法

WordPress 页脚显示查询次数、加载时间和内存占用的完整方法

WordPress 页脚显示查询次数、加载时间和内存占用的完整方法

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 页面的性能指标,为优化提供数据参考。

发表评论

您的邮箱不会公开。必填项已用 * 标注。