在開發過程中,除錯程式碼是非常重要的工作,而掌握一些 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> |
