如何解决WordPress新用户欢迎邮件中密码链接因<>不显示问题?
解决WordPress新用户欢迎邮件设置密码URL不显示的问题
我帮你找到对应的解决方案了!针对新用户欢迎邮件里设置密码URL被<>包裹导致无法正常显示的问题,你可以通过WordPress的wp_new_user_notification_email过滤器来修改邮件内容,移除包裹URL的尖括号。
具体代码如下,你可以把这段代码添加到当前主题的functions.php文件中,或者创建一个简单的自定义插件来引入:
add_filter( 'wp_new_user_notification_email', 'fix_new_user_password_url_format', 10, 3 ); function fix_new_user_password_url_format( $email, $user, $blogname ) { // 匹配并移除包裹URL的尖括号 $email['message'] = preg_replace( '/<(https?:\/\/[^>]+)>/', '$1', $email['message'] ); return $email; }
代码说明:
- 这个钩子会拦截新用户欢迎邮件的内容,通过正则表达式匹配所有被
<>包裹的HTTP/HTTPS链接,直接替换为纯URL格式,避免邮件客户端把尖括号里的内容识别为隐藏文本。 - 如果需要更精准的匹配(比如只针对设置密码的特定链接),可以结合邮件里的原始文案调整正则规则,不过上面的通用规则已经能覆盖大部分场景。
之前你用的密码重置邮件过滤器是针对重置场景的,而新用户通知对应的就是wp_new_user_notification_email,这个钩子支持你自定义邮件的主题、内容等所有参数,刚好适配这个格式修复需求。
内容的提问来源于stack exchange,提问作者TASan
相关产品推荐
相关产品推荐

