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