如何在HTML郵件中新增WordPress密碼重設連結?
P粉136356287
2023-09-02 13:52:43
<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>
在這行的最後放上4,而不是2。
你必須告訴 add_filter() 和 add_action() 鉤子函式需要多少個參數。