問題描述
我正在開發一個插件,但在激活短語期間,我經常面臨錯誤。然而,沒有簡單的方法來顯示錯誤消息,因為回顯的東西會導致’unexpacted output’ 錯誤。我嘗試了 admin_message 鈎子,但它不起作用。如果激活的某些階段出現故障,我該如何提醒用户?
最佳解決方案
為了測試目的,您可以使用日誌系統 (php_error.log):
error_log('Plugin activated', 0);
// Check for DB table existance
if(!$this->hasDBTable()){
error_log('Database not present', 0);
if($this->createCELabelsDBTables()){
error_log('Database was created.', 0);
} else {
error_log('Error creating the CE Labels Plugin db tables!', 0);
}
} else {
error_log('Database OK', 0);
}
為了向用户輸出錯誤,「Headers already sent」 錯誤,您可以使用 php 函數 trigger_error:
trigger_error('PLUGIN OK',E_USER_ERROR);
WordPress 必須始終為 E_USER_ERROR,否則不會顯示該消息。
我知道 error_log 使用完美,但 trigger_error 顯示必須有信息。嘗試一下,看看自己:)
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。