主页 > 编程资料 > WordPress >
发布时间:2015-09-26 作者:网络 阅读:203次

本文实例讲述了如何修改WordPress新用户注册邮件内容,因为系统发送的邮件是纯文本类型的,页面不太美观,又没有办法发送自定义的HTML格式的邮件,将修改方法分享给大家供大家参考。具体方法如下:

最简单的办法

方法一、直接手动修改:

修改wordpresswp-includes目录的pluggable.php,中的这段:

复制代码代码如下:$message = sprintf(__('Username: %s'), $user_login) . "";
$message .= sprintf(__('Password: %s'), $plaintext_pass) . "";
$message .= wp_login_url() . "";
wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);
例如改为如下代码:

复制代码代码如下:$message .= sprintf(__('欢迎加入***网')) . "rn";
$message .= sprintf(__('Username: %s'), $user_login) . "rn";
$message .= sprintf(__('Password: %s'), $plaintext_pass) . "rn";
$message .= wp_login_url() . "rn";
$message .= sprintf(__('账号需进一步审核才可以登入,请通知网站管理员')) . "rn";
wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);
方法二:

我们在当前主题的functions.php中加入重新定义的wp_new_user_notification函数即可,下面是一个示例,可以根据自己的需求进行修改:

复制代码代码如下:if ( !function_exists('wp_new_user_notification') ) :
/**
* Notify the blog admin of a new user, normally via email.
*
* @since 2.0
*
* @param int $user_id User ID
* @param string $plaintext_pass Optional. The user's plaintext password
*/
function wp_new_user_notification($user_id, $plaintext_pass = '') {
$user = get_userdata( $user_id );
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
// 获取博客名称
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
// 给管理员发送的邮件内容,这里是HTML格式
$message = '新用户注册

您的网站 ' . $blogname . ' 有新用户注册。
用户名:' . $user_login . '
Email:' . $user_email . '
如果您不是 ' . $blogname . ' 的管理员,请直接忽略本邮件!<>
<>';
// 给网站管理员发送邮件
$message_headers = "Content-Type: text/html; charset="utf-8"n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), $blogname), $message, $message_headers);
if ( emptyempty($plaintext_pass) )
return;

// 你可以在此修改发送给新用户的通知Email,这里是HTML格式
$message = '新用户注册
您刚刚在网站 ' . $blogname . ' 注册一个帐号。
用户名:' . $user_login . '
登录密码:' . $plaintext_pass . '
登录网址:' . wp_login_url() . '
如果您没有在 '. $blogname . ' 注册过任何信息,请直接忽略本邮件!<>
<>';
// sprintf(__('[%s] Your username and password'), $blogname) 为邮件标题
wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message, $message_headers);
}
endif;
中间的$message中的内容你自己爱怎么写就怎么写吧.

希望本文所述对大家的WordPress建站有所帮助。

关键字词: