当通过仪表板添加新用户时,我注意到当用户被添加到Wordpress时发送给用户的通知电子邮件不能正常工作。电子邮件中包含以下行,但是您会注意到注册密钥丢失,链接未正确呈现。
To set your password, visit the following address: http://www.domain.com/wp-login.php
我四处挖掘,输出wp\\U邮件的内容,如下所示:
add_filter(\'wp_mail\', function($email) {
var_dump($email);
return $email;
}, 1);
在新用户通知电子邮件中看到:
array(5) {
["to"]=>
string(20) "[email protected]"
["subject"]=>
string(47) "[My Great Blog] Your username and password info"
["message"]=>
string(224) "Username: test19
To set your password, visit the following address:
<http://www.domain.com/wp-login.php?action=rp&key=1nTPsJVMk3H2eEM3Wgpm&login=test19>
http://www.domain.com/wp-login.php
"
["headers"]=>
string(0) ""
["attachments"]=>
array(0) {
}
}
奇怪的是,它包含了一个正确的链接,但HTML格式不正确(没有a href=),而且缺少结尾。我已经在Wordpress Trac上确认了这一点。
Anyone have any insight onto why this is not working, seems like such a crucial part of a website.
版本4.9.8。
已将“wp\\u mail\\u content\\u type”设置为文本/html。
SO网友:Clinton
WordPress 4.9.0在新用户通知邮件功能中引入了2个过滤器(wp\\u new\\u user\\u notification):
wp\\u new\\u user\\u notification\\u email-要自定义发送给用户的电子邮件,请自定义发送给管理员的电子邮件-要自定义发送给管理员的电子邮件,请忽略第二封,因为这是发送给管理员的电子邮件,格式与您的问题不同。另一方面,wp\\u new\\u user\\u notification\\u电子邮件允许您在将“收件人”、“主题”、“消息”和“标题”发送到wp\\u mail()函数之前修改它们。
但是,您截获了wp\\u邮件过滤器,该过滤器在wp\\u new\\u user\\u notification\\u电子邮件发出后立即启动,此时一切正常,因此问题必须稍后解决。可以过滤邮件的唯一剩余位置是通过wp\\U邮件过滤器。
如果您确信字符集或客户端电子邮件没有问题,请查找任何其他调用以添加\\u filter(\'wp\\u mail\',…)。还可以查看收到的电子邮件的源代码。
对不起,我帮不上忙了。这是一个有趣的问题,我期待着最终听到解决方案是什么或任何其他建议。