如何更改WordPress的“retrieve_password”电子邮件的标题?

时间:2014-05-27 09:11:28

标签: php wordpress email-headers

我注意到WordPress为我们提供了一些过滤器来自定义密码重置请求电子邮件,例如wp_mail_fromretrieve_password_titleretrieve_password_message,最后两个在retrieve_password函数中执行wp-login.php如下:

$title = apply_filters( 'retrieve_password_title', $title );
$message = apply_filters( 'retrieve_password_message', $message, $key );

if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) )
    wp_die( __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.') );

return true;

这很酷,但我也意识到wp_mail函数没有使用任何标题,这让我相信一切都应该用过滤器覆盖。

是否有覆盖标头的过滤器?具体是Content-Type?注册它们的最佳位置在哪里?

1 个答案:

答案 0 :(得分:3)

要仅在wp_mail_content_type页面中运行过滤器wp-login.php,我们可以使用one of its action hooks。未测试的:

add_action( 'login_form_retrievepassword', function()
{
    add_filter( 'wp_mail_content_type', function( $old_content_type )
    {
        $new_content_type = 'text/plain';
        return $new_content_type;
    });
});