WordPress 查詢監視器插件:讓我們調試並提高性能
已發表: 2019-09-05
您是否收到 WordPress 錯誤但無法解決它們?
為了檢測 WordPress 錯誤,開發人員通常反向工作。 他們首先排除可能存在問題的代碼部分,然後開始評估各個區域。 一般來說,對於 WordPress 網站,主要關注的領域是 PHP 設置、.htaccess 文件、wp-config 文件、數據庫查詢和 DNS 設置。
前段時間,我遇到了 WordPress Query Monitor 插件,這是一個很好的開發工具,用於發現網站上發生的事情。 該插件提供了開發人員可以用來縮小代碼“問題”區域的詳細信息。
在本插件教程中,我將首先詳細介紹 WordPress Query Monitor 插件,然後簡要介紹該插件的常見用例。
- 什麼是 WordPress 查詢監視器?
- WordPress 查詢監視器的功能
- 為什麼查詢監視器對開發人員有用?
- 如何使用 WordPress 查詢監視器?
什麼是 WordPress 查詢監視器?
Query Monitor 是一個 WordPress 插件,它為調試階段增加了巨大的價值,並且通常可以提高 WordPress 開發工作流程的整體性能。
該插件在頂部菜單欄中添加了一個條目作為下拉列表,其中包含在當前頁面上執行的查詢數量、加載時間、查詢類型過濾器、組件過濾器等。因此,開發人員更好地了解可能導致網站錯誤的原因。

它由 John Blackbourn 開發,可從官方 WordPress 插件庫和 GitHub 獲得。 像每個偉大的 WordPress 插件一樣,Query Monitor 會定期更新,開發團隊為所有報告的錯誤提供出色的支持和修復。
安裝非常簡單,一般不需要額外的步驟(與同類插件的安裝過程相比)。 安裝後,這個WordPress調試插件不需要額外配置。 開箱即用,它開始在管理工具欄中顯示下拉列表。

通過單擊下拉列表中的條目,您可以訪問有關對數據庫進行的查詢、腳本和加載的 CSS、活動掛鉤和 HTTP API 調用的詳細信息。

WordPress 查詢監視器的功能
這是查詢監視器插件功能的快速概述。
主題錯誤
主題功能列出了由安裝的 WordPress 主題觸發的所有查詢。 它顯示負責特定查詢的主題模板的文件名,並顯示完整的模板層次結構。 主題功能還突出顯示了卸載的主題部分和活動 WordPress 主題的名稱。
PHP 錯誤
WordPress 在 PHP 上運行,無論請求是由主題還是插件生成,它都是 PHP 代碼的形式。 PHP 錯誤功能突出顯示了負責生成查詢的源組件和位置。
注意:並非查詢監視器中列出的所有查詢都是嚴重的。 這很可能只是一個警告。
AJAX 調用
動態 WordPress 站點進行大量 Ajax 調用以實時發送和獲取數據,而無需加載完整的網頁。 查詢監視器還顯示這些請求以及其他有用的調試信息。 此信息可以幫助開發人員突出顯示任何錯誤。
REST API
如果您有權監視查詢監視器,則可以調試經過身份驗證的 WordPress REST API 請求標頭中顯示的信息。 目前,該插件僅支持 PHP 錯誤和內存使用。
驗證
默認情況下,只有單站點安裝的管理員和 WordPress 多站點的超級管理員才能查看查詢監視器中的日誌。 但是,您可以配置一個身份驗證 cookie,即使您以用戶身份登錄,它也允許您查看日誌。
隱私聲明
WordPress Query Monitor 既不收集任何數據,也不向第三方發送任何數據。
我還注意到常見問題解答表明 Debug Bar 附加組件可以與 Query Monitor 一起使用,只需先停用 Debug Bar。 並且還有 Query Monitor 的附加組件。
為什麼查詢監視器對開發人員有用?
借助 Query Monitor 插件,開發人員可以清楚地知道哪些方面需要改進。 更重要的是,開發人員可以發現消耗異常資源量或(在更糟糕的情況下)與其餘核心文件衝突的插件或其他網站資產。
對於對改進 Web 性能優化 (WPO) 感興趣的網站所有者和開發人員,Query Monitor 是識別瓶頸的理想解決方案,這些瓶頸可以通過改進的代碼片段、替代方案或在某些情況下完全替換腳本/插件來糾正。
讓我們考慮一個簡單的開發任務——找出頁面加載時間和頁面上的活動查詢數量。
WordPress 提供了兩個簡單的函數: get_num_queries ()和timer_stop() 。 顧名思義, get_num_queries()返回執行期間生成的數據庫查詢數, timer_stop()返回生成頁面所需的秒數。
如何使用 WordPress 查詢監視器?
安裝並激活 Query Monitor 後,您需要轉到Plugins → Installed Plugins → Query Monitor → Settings ,然後單擊“ Set authentication cookie ”按鈕。 現在讓我們詳細查看 Query Monitor 插件的每個部分。
概述
第一個選項卡為您提供網站概覽。 它顯示頁面生成時間、峰值內存使用量、數據庫查詢時間和數據庫查詢。


數據庫查詢
每當用戶請求任何信息或嘗試提交信息時,都會觸發數據庫查詢。 Query Monitor 跟踪此查詢並將其顯示在日誌中,以便您作為用戶可以查看哪些查詢已成功執行,哪些未成功。 並且還可以按查詢的類型和組件進行過濾。

要求
請求功能顯示當前用戶的查詢變量並突出顯示自定義查詢。 它還顯示請求中存在的關聯查詢字符串。

管理屏幕
此部分顯示 WordPress 管理面板上發生的活動。 它列出了正在從管理面板訪問的組件,並顯示由於任何 PHP 文件不可用而導致的錯誤。

腳本
當您訪問查詢監視器內的腳本選項卡時,它會列出請求中包含的所有排隊腳本和样式。 它還突出顯示由於外部依賴性而導致的任何損壞或無響應的腳本。

樣式
很可能有時由於外部依賴,某個 CSS 文件無法加載並破壞您的網頁佈局。 本節處理 CSS 樣式表並幫助您識別任何查詢背後的源文件。

鉤子和動作
鉤子和動作在任何 WordPress 站點中都發揮著重要作用,因為它們允許您使用 WordPress 本身提供的預定義控件創建自定義功能。 這樣做有時會破壞您的網站,並且對錯誤進行故障排除可能是一項很累人的工作。
感謝 Query Monitor,它有一個內置工具來識別由鉤子和動作引起的錯誤。 這允許您按核心、主題或插件過濾操作和掛鉤。 並且還為您提供完整的名稱和參考,可以在代碼中輕鬆找到以進行調試。

語言
如果是多語言網站,語言選項卡會識別任何損壞或不可用的文件,並顯示語言設置。

HTTP API 調用
此選項卡顯示所有服務器端查詢,還顯示響應代碼、超時日誌和失敗的請求。 這是一個有用的功能,因為它使您能夠實時查看響應並幫助您有效地調試服務器端代碼。

瞬時更新
WordPress 能夠在其數據庫中緩存 API 響應,因為某些 API 在給定時間只允許一定數量的請求。 Transient Updates 顯示這些瞬變並顯示大小和組件。

能力檢查
默認情況下,這是不活動的,可以通過將代碼放在 wp-config.php 文件中來激活。 能力檢查對頁面上的每個用戶執行能力檢查,並顯示參數和結果。

環境
這是 WordPress 環境的完整概述,包含 PHP、數據庫和 WordPress 三個部分。 在每個部分內,顯示有關環境的有用信息,例如 MySQL 版本、PHP 內存限制、WordPress 版本等。

條件句
顯示當前請求的所有 WordPress 條件。

包起來!
WordPress Query Monitor 插件專注於調試並以易於理解的方式提供所有相關信息。 該插件非常適合快速識別影響網站性能的插件、主題或功能。
該插件在管理工具欄中集成了一個菜單,顯示當前頁面的一般描述,並在面板中顯示完整的數據(一旦您選擇了一個菜單項)。 您最常使用以下哪些組件來保持站點健康? 有什麼建議?
