首页  >  问答  >  正文

如何在HTML邮件中添加WordPress密码重置链接?

<p>我正在尝试用Html邮件替换WP核心密码重置邮件。总体上效果很好,邮件格式化得很好,并且正确发送。然而,实现动态重置链接不起作用(用户名也是如此,但这甚至不是最重要的事情)</p> <p>我在我的模板的functions.php中使用了以下代码:</p> <pre class="brush:php;toolbar:false;">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>'</pre> <p>这样做会导致致命错误,因为函数期望4个参数,但只接收到2个(错误报告邮件中说的)。当我省略$user_data和$key时,错误消失了,但我仍然不知道如何实现动态链接...</p> <p>当我尝试在Html中包含这个链接时,它只会发送链接的一半(可能是由于'""'的原因):</p> <pre class="brush:php;toolbar:false;">' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . '</pre> <p>有人对如何解决这个问题有什么想法吗?谢谢。</p>
P粉136356287P粉136356287435 天前592

全部回复(1)我来回复

  • P粉838563523

    P粉8385635232023-09-03 10:30:11

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

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

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

    回复
    0
  • 取消回复