三行代码关闭WordPress注册/密码修改通知邮件及自定义欢迎邮件

WordPress 自带了新用户注册邮件通知以及密码修改邮件通知,但是有时候我们并不想要这个功能,之前云落网站都是通过修改 WordPress 源代码的方式来实现的,今天看看源代码,发现也挺简单的,这是今天在更新 Git 主题时候写入的,今天在这里记录分享下,肯定会有人用到的。

注册通知
说的邮件通知,其实有 2 个的,一个是向管理员发邮件通知,一个向用户发邮件通知,这两个管理员邮件我觉得是没必要的,是必须要关闭的,因为随着网站时间的推移,站长对注册用户也没啥太在意的。另外如果你遇到机器人垃圾注册的时候,你会被这些通知邮件撑爆你的邮箱的,所以这个功能是可以关闭的。而向用户发邮件通知这个功能其实也无所谓,如果想要好一点的体验的话,也可以保留,毕竟欢迎邮件是需要的。

密码修改邮件
其实这个功能关闭与否其实无所谓的,但是如果你使用的是像云落 Git 主题这种需要自己输入密码来注册的 WordPress 网站,你会发现用户在注册的时候会收到一封密码修改邮件的通知,纳尼 [疑问] [疑问] 这是什么操作?可能 WordPress 将自己输入密码这个操作误认为是修改密码的吧,所以为了避免这尴尬的局面,我们也需要关闭这个功能的,另外从实际来看我们这种小网站很多用户都是注册之后就不管的,还改密码?除非那些认为自己网站很牛叉的吧。

代码
上面扯淡说了那么多,其实代码就三行,真的三行。

1
2
3
add_filter( 'password_change_email', '__return_false' );//关闭密码修改用户邮件
add_filter( 'wp_new_user_notification_email_admin', '__return_false' );//关闭新用户注册站长邮件
add_filter( 'wp_new_user_notification_email', '__return_false' );//关闭新用户注册用户邮件

自定义欢迎邮件
上面说了关闭注册邮件,但是肯定也有人需要这个功能的,比如用来发个欢迎邮件之类的,但是 WordPress 自带的注册邮件太坑爹了,所以我们需要对他进行修改,不用WordPress提供的通知钩子,而是直接将邮件函数挂在注册钩子上,简单明了。

注意:上面的关闭新用户注册代码并不影响自定义欢迎邮件功能,两者没半毛钱关系。

欢迎邮件代码

代码直接放进主题的 function 文件就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function git_register_mail( $user_id ) {
$user = get_user_by( 'id', $user_id );
$user_pass = $_POST['password'];
$blogname = get_option('blogname');
$message = '
<div class="emailcontent" style="width: 100%; max-width: 720px; text-align: left; margin: 0 auto; padding-top: 80px; padding-bottom: 20px;">
<div class="emailtitle">
<h1 style="color: #fff; background: #51a0e3; line-height: 70px; font-size: 24px; font-weight: 400; padding-left: 40px; margin: 0;">注册成功通知</h1>
<div class="emailtext" style="background: #fff; padding: 20px 32px 20px;">
<div style="padding: 0; font-weight: bold; color: #6e6e6e; font-size: 16px;">尊敬的'
.$user-&gt;user_login.',您好!</div>
<p style="color: #6e6e6e; font-size: 13px; line-height: 24px;">欢迎您注册['
.$blogname.'],下面是您的账号信息,请妥善保管!</p>

<table style="width: 100%; border-top: 1px solid #eee; border-left: 1px solid #eee; color: #6e6e6e; font-size: 16px; font-weight: normal;" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th style="padding: 10px 0; border-right: 1px solid #eee; border-bottom: 1px solid #eee; text-align: center; background: #f8f8f8;" colspan="2">您的详细注册信息</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding: 10px 0; border-right: 1px solid #eee; border-bottom: 1px solid #eee; text-align: center; width: 100px;">登录邮箱</td>
<td style="padding: 10px 20px 10px 30px; border-right: 1px solid #eee; border-bottom: 1px solid #eee; line-height: 30px;">'
.$user-&gt;user_email.'</td>
</tr>
<tr>
<td style="padding: 10px 0; border-right: 1px solid #eee; border-bottom: 1px solid #eee; text-align: center;">登录密码</td>
<td style="padding: 10px 20px 10px 30px; border-right: 1px solid #eee; border-bottom: 1px solid #eee; line-height: 30px;">'
.$user_pass.'</td>
</tr>
</tbody>
</table>
<p style="color: #6e6e6e; font-size: 13px; line-height: 24px;">如果您的账号有异常,请您在第一时间和我们取得联系哦,联系邮箱:'
.get_bloginfo('admin_email').'</p>
</div>
<div class="emailad" style="margin-top: 4px;"><a href="'
.home_url().'"><img style="margin: auto; width: 100%; max-width: 700px; height: auto;" src="http://reg.163.com/images/secmail/adv.png" alt="" /></a></div>
</div>
</div>
'
;
$headers = "Content-Type:text/html;charset=UTF-8\n";
wp_mail($user-&gt;user_email, '['.$blogname.']欢迎注册'.$blogname, $message , $headers);
}
add_action( 'user_register', 'git_register_mail');