Query Monitor 查询监控器

query-monitor

Query Monitor 是专为 WordPress 和 WooCommerce 打造的综合开发者工具面板。

入库
下载 v4.0.7

它使您能够对数据库查询、PHP 错误、钩子(Hooks)与动作(Actions)、区块编辑器、加载的脚本与样式表、HTTP API 调用等进行深度调试。

核心优势: 该插件专注于以可操作的方式呈现信息。例如,它会将数据库查询按负责的插件、主题或函数进行分组聚合,帮助您快速定位导致性能瓶颈的具体组件。

页面加载分析概览

Query Monitor 会在管理工具栏中添加一个菜单,显示当前页面的性能摘要。点击后展开完整调试面板,包含以下详细信息:

  • 数据库查询: 标记缓慢、重复或错误的查询。支持按类型(SELECT/UPDATE/DELETE)、组件(插件/主题/核心)及调用函数过滤,并提供独立的聚合视图。
  • 模板层级: 显示模板文件名、完整的模板层次结构,以及块主题和经典主题中已加载或未加载的模板部件。
  • PHP 错误: 清晰展示错误信息、负责组件、调用堆栈,并在管理工具栏中直接显示警告。
  • 代码规范检查: 检测代码中使用的“做错了”(Doing it wrong)或“已弃用”(Deprecated)功能。
  • 区块编辑器: 列出帖子内容和全站编辑(FSE)中的区块及其关联属性。
  • 重写规则: 显示匹配的重写规则、关联查询字符串及查询变量。
  • 资源加载: 列出排队的脚本和样式表,包括依赖关系,并对损坏的依赖项发出警报。
  • 国际化: 显示每个文本域的语言设置及加载的翻译文件(MO/JSON)。
  • HTTP API 请求: 包含响应代码、耗时、负责组件,并对失败请求发出警报。
  • 权限检查: 记录用户能力(Capabilities)检查结果及传入参数。
  • 环境信息: PHP、数据库、WordPress 及 Web 服务器的详细配置。
  • 条件标签: 显示 is_single()is_home() 等所有 WordPress 条件函数的当前值。
  • 瞬态缓存: 记录本次请求中更新的 Transients。
  • 多站点切换: 追踪 switch_to_blog() 和 restore_current_blog() 的调用。

高级调试特性

Ajax 与 REST API 调试

  • 重定向追踪: 发生重定向时,自动添加包含调用堆栈的 HTTP 标头,可通过浏览器开发者工具追溯触发源。
  • jQuery Ajax: 页面上 jQuery 发起的 Ajax 请求响应头中包含调试信息;PHP 错误同步输出至浏览器控制台。
  • REST API: 认证用户的 REST 请求响应头中包含性能摘要和 PHP 错误;封装请求在 qm 属性中提供更详细的调试数据。

访问控制

  • 默认权限: 单站点仅管理员可见,多站点仅超级管理员可见。
  • 身份验证 Cookie: 可设置特殊 Cookie,允许在未登录或以非管理员身份查看调试输出(详见设置面板)。

兼容性

  • 支持最近三个主要 WordPress 版本。
  • 要求 PHP 7.4 或更高版本。
  • 完全支持块主题和全站编辑(FSE)。

浏览器扩展(可选)

Query Monitor 提供可选的浏览器开发者工具扩展,作为页面内面板的替代方案:

  • 不占用页面空间: 调试面板独立于被检查的页面。
  • 灵活布局: 可像其他 DevTools 面板一样调整大小、分离或移动。

隐私声明

Query Monitor 默认且永远是私有的。

  • 不会持久化存储任何收集的数据。
  • 不向任何第三方发送数据。
  • 不包含任何第三方外部资源。

同作者推荐插件

  • User Switching: 在 WordPress 用户账户间即时切换。
  • WP Crontrol: 查看和控制 WP-Cron 系统的运行状态。