在開發過程中,除錯程式碼是非常重要的工作,而掌握一些 WordPress 的除錯技巧,可以更好的進行除錯。比如,在本地開發環境,你可能需要把全部的程式碼警告資訊全部輸出出來,方便修改程式碼不合理的地方。

本文將講解 WordPress 的所有除錯方法,如果你是開發者,一定要掌握這些技巧,可以大大提高效率。

除錯模式的開啟需要在根目錄的 wp-config.php 檔案新增一些常量,所以下邊介紹的所有程式碼都新增到根目錄的 wp-config.php 檔案。

WP_DEBUG

WP_DEBUG 是一個 WordPress 的常量,把他設為 True 之後,WordPress 會進入開發者模式,它會把所有有關開發的提示都輸出到螢幕上。

我非常建議本地的開發環境裡啟用 WP_DEBUG,方便開發。

//啟用開發者模式

define('WP_DEBUG',true);

WP_DEBUG_LOG

如果你想把 WordPress 執行中出現的錯誤全部記錄下來,可以開啟 WP_DEBUG_LOG,開啟後,所有的錯誤都會被記錄下來,儲存到 wp-content/debug.log 檔案。

記錄錯誤的前提是需要開啟 WP_DEBUG 模式,只有開啟 WP_DEBUG 才會產生錯誤。

//開啟錯誤記錄

define('WP_DEBUG_LOG',true);

WP_DEBUG_DISPLAY

如果你想把 WP_DEBUG 模式產生的錯誤只透過 WP_DEBUG_LOG 記錄而不顯示在螢幕上,可以在開啟 WP_DEBUG_LOG 和 WP_DEBUG 的時候再開啟 WP_DEBUG_DISPLAY 。

//阻止錯誤顯示在螢幕上

define('WP_DEBUG_DISPLAY',true);

SCRIPT_DEBUG

預設情況下,WordPress 後臺會使用壓縮併合並後的 JS 和 CSS 檔案。

有時候為了除錯,我們可能不想讓後臺使用壓縮的 CSS 和 JS 檔案,這時可以把 SCRIPT_DEBUG 設定成 True 。

//停用壓縮的 CSS 和 JS 檔案

define('SCRIPT_DEBUG',true);

SAVEQUERIES

如果你要最佳化資料庫查詢次數,SAVEQUERIES 是一個非常重要的東西,把 SAVEQUERIES 設為 True,WordPress 會記錄每一次資料庫查詢的 Sql 語句和花費的時間。

//記錄資料庫查詢

define('SAVEQUERIES',true);

開啟記錄之後,可以使用 $wpdb 的 queries 變數來獲取所有資料查詢,把下邊的程式碼放到主題的 footer.php 檔案裡即可看到所有資料庫查詢。

1

<pre><?phpvar_dump($GLOBALS['wpdb']->queries);?></pre>