问题描述

我正在开发一个插件,但在激活短语期间,我经常面临错误。然而,没有简单的方法来显示错误消息,因为回显的东西会导致’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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。