如何在HTML邮件中添加WordPress密码重置链接?
P粉136356287
P粉136356287 2023-09-02 13:52:43
[HTML讨论组]

我正在尝试用Html邮件替换WP核心密码重置邮件。总体上效果很好,邮件格式化得很好,并且正确发送。然而,实现动态重置链接不起作用(用户名也是如此,但这甚至不是最重要的事情)

我在我的模板的functions.php中使用了以下代码:

add_filter( 'wp_mail_content_type','prefix_set_content_type' );
function prefix_set_content_type() {
        return "text/html";
}

add_filter( 'retrieve_password_message', 'replace_retrieve_password_message', 10, 2 );
function replace_retrieve_password_message( $message, $key, $user_login, $user_data ) {

        $message = '<html...>很多html内容(基本上是格式化的邮件)</html>'

这样做会导致致命错误,因为函数期望4个参数,但只接收到2个(错误报告邮件中说的)。当我省略$user_data和$key时,错误消失了,但我仍然不知道如何实现动态链接...

当我尝试在Html中包含这个链接时,它只会发送链接的一半(可能是由于'""'的原因):

' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . '

有人对如何解决这个问题有什么想法吗?谢谢。

P粉136356287
P粉136356287

全部回复(1)
P粉838563523

在这行的末尾放上4,而不是2。

add_filter('retrieve_password_message', 'replace_retrieve_password_message',10,4);

你必须告诉 add_filter()add_action() 钩子函数需要多少个参数。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号