如何使用Hook覆盖WordPress Booking Activities插件邮件收件人设置
问题原因
你当前的代码存在三个核心错误,直接导致邮件发送中断:
- 过滤器
bookacti_email_notification_data要求必须返回处理后的配置参数,你没有添加返回逻辑,后续邮件发送流程拿不到配置直接终止 - 你不需要自行调用
mail()函数发信,只需要修改过滤器传入的收件人配置即可,插件会自行完成后续发送逻辑 - 该过滤器默认支持3个入参,你只声明接收1个,会缺少必要的上下文参数
正确实现代码
如果需要直接替换原有收件地址为自定义地址,添加以下代码到主题functions.php即可:
function bookacti_email_custom_mailto( $data, $notification, $context ) { // 修改为你的目标收件地址,多个地址用英文逗号分隔即可 $data['to'] = 'MAIL@MAIL.com'; // 必须返回处理后的配置参数 return $data; } // 最后一位参数3对应接收3个入参 add_filter( 'bookacti_email_notification_data', 'bookacti_email_custom_mailto', 99, 3 );
如果需要保留原有收件人,额外追加自定义收件地址,可以使用以下代码:
function bookacti_email_custom_mailto( $data, $notification, $context ) { // 追加额外收件人,注意前面加英文逗号和原有地址分隔 $data['to'] .= ',MAIL@MAIL.com'; return $data; } add_filter( 'bookacti_email_notification_data', 'bookacti_email_custom_mailto', 99, 3 );
内容的提问来源于stack exchange,提问作者Matthias
相关产品推荐
相关产品推荐

