Wordpress 重置密码电子邮件 - 纯文本到 HTML
Wordpress reset password email - Plain Text to HTML
我需要以下脚本的帮助
public function replace_retrieve_password_message( $message, $key, $user_login, $user_data ) {
// Create new message
$msg = __( 'Hello!', 'personalize-login' ) . "\r\n\r\n";
$msg .= sprintf( __( 'You asked us to reset your password for your account using the email address %s.', 'personalize-login' ), $user_login ) . "\r\n\r\n";
$msg .= __( "If this was a mistake, or you didn't ask for a password reset, just ignore this email and nothing will happen.", 'personalize-login' ) . "\r\n\r\n";
$msg .= __( 'To reset your password, visit the following address:', 'personalize-login' ) . "\r\n\r\n";
$msg .= site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n\r\n";
$msg .= __( 'Thanks!', 'personalize-login' ) . "\r\n";
return $msg;
}
这将替换 Wordpress 重置密码电子邮件。它的功能很好,正在发挥作用。但是,它不是很漂亮,我想用 HTML
电子邮件替换它。
有没有一种方法可以在其中添加 HTML
并仍然保留 打印 URL 和用户电子邮件地址 的功能?例如;
<div>
<h1>Hello</h1>
<p>You asked us to reset your password for your account using the email address <?php PRINT USER EMAIL ?></p>
<a href="<?php PRINT URL ?></a>
</div>
我知道上面的内容很基础,PHP
不正确,但是如果我想用这个替换 Plain Text
电子邮件,我该怎么做?是否可以使用此模板中的 HTML
内容和 return
内容创建单独的 PHP
文件?
非常感谢您的宝贵时间。
是的,Darren Mathers,你可以使用类似的东西
function replace_retrieve_password_message($message, $key, $user_login, $user_data) {
// Create new message
$msg = '<div><h1>Hello!, personalize-login</h1>';
$msg .= '<p>You asked us to reset your password for your account using the email address personalize-login </p>'.$user_login;
$msg .= "<p>If this was a mistake, or you didn't ask for a password reset, just ignore this email and nothing will happen personalize-login";
$msg .= '<p> To reset your password, visit the following address: personalize-login';
$msg .= '<p>'.site_url( "wp-login.php?action=rp&key=$key&login=".rawurlencode($user_login),'login').'</p>'
$msg .= '<p>Thanks! personalize-login</p> </div>';
return $msg;
}
我的问题的解决方案分两部分完成
首先是添加到 functions.php
function email_set_content_type(){
return "text/html";
}
add_filter( 'wp_mail_content_type','email_set_content_type' );
第二个是在自定义插件中添加的,如下所示
$msg = __( "<div><h1>Hello!</h1>", 'personalize-login' ) . "\r\n\r\n";
$msg = __( "<p>You asked us to reset your password for your account using the email address", 'personalize-login' ) . "\r\n\r\n";
$msg .= sprintf( __( "%s.</p>", 'personalize-login' ), $user_login ) . "\r\n\r\n";
$msg .= __( "<a href='", 'personalize-login' ) . "\r\n\r\n";
$msg .= site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n\r\n";
$msg .= __( "'></a></div>", 'personalize-login' ) . "\r\n\r\n";
return $msg;
我现在已经使用此方法将所有核心 Wordpress 消息替换为整个 email
模板,包括 html
body
和 head
标签。
感谢那些对我的解决方案提出意见的人。
我需要以下脚本的帮助
public function replace_retrieve_password_message( $message, $key, $user_login, $user_data ) {
// Create new message
$msg = __( 'Hello!', 'personalize-login' ) . "\r\n\r\n";
$msg .= sprintf( __( 'You asked us to reset your password for your account using the email address %s.', 'personalize-login' ), $user_login ) . "\r\n\r\n";
$msg .= __( "If this was a mistake, or you didn't ask for a password reset, just ignore this email and nothing will happen.", 'personalize-login' ) . "\r\n\r\n";
$msg .= __( 'To reset your password, visit the following address:', 'personalize-login' ) . "\r\n\r\n";
$msg .= site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n\r\n";
$msg .= __( 'Thanks!', 'personalize-login' ) . "\r\n";
return $msg;
}
这将替换 Wordpress 重置密码电子邮件。它的功能很好,正在发挥作用。但是,它不是很漂亮,我想用 HTML
电子邮件替换它。
有没有一种方法可以在其中添加 HTML
并仍然保留 打印 URL 和用户电子邮件地址 的功能?例如;
<div>
<h1>Hello</h1>
<p>You asked us to reset your password for your account using the email address <?php PRINT USER EMAIL ?></p>
<a href="<?php PRINT URL ?></a>
</div>
我知道上面的内容很基础,PHP
不正确,但是如果我想用这个替换 Plain Text
电子邮件,我该怎么做?是否可以使用此模板中的 HTML
内容和 return
内容创建单独的 PHP
文件?
非常感谢您的宝贵时间。
是的,Darren Mathers,你可以使用类似的东西
function replace_retrieve_password_message($message, $key, $user_login, $user_data) {
// Create new message
$msg = '<div><h1>Hello!, personalize-login</h1>';
$msg .= '<p>You asked us to reset your password for your account using the email address personalize-login </p>'.$user_login;
$msg .= "<p>If this was a mistake, or you didn't ask for a password reset, just ignore this email and nothing will happen personalize-login";
$msg .= '<p> To reset your password, visit the following address: personalize-login';
$msg .= '<p>'.site_url( "wp-login.php?action=rp&key=$key&login=".rawurlencode($user_login),'login').'</p>'
$msg .= '<p>Thanks! personalize-login</p> </div>';
return $msg;
}
我的问题的解决方案分两部分完成
首先是添加到 functions.php
function email_set_content_type(){
return "text/html";
}
add_filter( 'wp_mail_content_type','email_set_content_type' );
第二个是在自定义插件中添加的,如下所示
$msg = __( "<div><h1>Hello!</h1>", 'personalize-login' ) . "\r\n\r\n";
$msg = __( "<p>You asked us to reset your password for your account using the email address", 'personalize-login' ) . "\r\n\r\n";
$msg .= sprintf( __( "%s.</p>", 'personalize-login' ), $user_login ) . "\r\n\r\n";
$msg .= __( "<a href='", 'personalize-login' ) . "\r\n\r\n";
$msg .= site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n\r\n";
$msg .= __( "'></a></div>", 'personalize-login' ) . "\r\n\r\n";
return $msg;
我现在已经使用此方法将所有核心 Wordpress 消息替换为整个 email
模板,包括 html
body
和 head
标签。
感谢那些对我的解决方案提出意见的人。