在開發過程中,調試代碼是非常重要的工作,而掌握一些 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 文件裡即可看到所有數據庫查詢。
<pre><?php var_dump( $GLOBALS['wpdb']->queries ); ?></pre>