如何在 WordPress 中为致命错误处理程序 (WSoD) 设置通知电子邮件
Posted
技术标签:
【中文标题】如何在 WordPress 中为致命错误处理程序 (WSoD) 设置通知电子邮件【英文标题】:How to Set Notification Email in WordPress for Fatal Error Handler (WSoD) 【发布时间】:2021-03-22 11:11:05 【问题描述】:WordPress 5.2 集成了 WSoD 保护,默认情况下,当站点遇到一些致命错误时,它会向管理员发送电子邮件通知。我已经为我的客户建立了一个网站,我想监控此类错误以防万一,但我不想仅仅为此目的在我的客户网站中插入管理员角色。如果发生此类事件,是否有任何钩子可以让我设置额外的技术支持电子邮件?
【问题讨论】:
【参考方案1】:您正在寻找恢复模式挂钩。第一种更简单的方法是在 wp-config.php 中设置 RECOVERY_MODE_EMAIL
常量。
define( 'RECOVERY_MODE_EMAIL', 'you@example.com' );
还可以通过recovery_mode_email
过滤器更改恢复模式电子邮件地址:
add_filter( 'recovery_mode_email', function( $email )
$email['to'] = 'you@example.com';
return $email;
);
这样您将收到邮件而不是您的客户,客户不会害怕并且您会被告知问题。如果您希望将其发送到多个地址,请将电子邮件作为数组返回:
add_filter( 'recovery_mode_email', function( $email )
$email['to'] = array('you1@example.com', 'you2@example.com');
return $email;
);
建议将您的过滤器实现放在单独的插件或 mu-plugin 中,以避免主题中的致命错误导致过滤器永远不会触发。
Reference
【讨论】:
@GeorageP,感谢您的详细说明。想知道过滤器“recovery_mode_email”是否可以在 mu-plugin 中使用? 是的,这是推荐的使用方式,而不是functions.php
。见:core.trac.wordpress.org/ticket/47939
嘿@GeorageP,想知道您是否知道如何测试恢复邮件?我试图在一个插件中出现语法错误,但没有为管理员和我的其他电子邮件发送恢复邮件。我已经测试了我的主机电子邮件服务是否正常工作。 d
我需要手动启用恢复模式吗?以上是关于如何在 WordPress 中为致命错误处理程序 (WSoD) 设置通知电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
在 Wordpress 中激活 Unyson 插件时出错致命错误
WordPress 编辑器未更新文件:无法与站点通信以检查致命错误