|
今天小V在某wordpress网站注册了个帐号,在完成注册后该网站系统发送来一封默认的注册提醒通知邮件,邮件样式如下图: 当时小V就想到wordpress默认的新用户注册提醒邮件的样式也未免太破了吧?正好无聊就琢磨了下wordpress的新用户邮件通知的函数。发现在wp-includes/pluggable.php文件有个wp_new_user_notification()函数是用来定义新用户邮件通知的。小V根据文档琢磨了下发现可以用以下方式来定义邮件样式: <?php/* Plugin Name: new-user-notification Description:重新定义发送邮件的内容和格式 Version: 1.0 */ 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 = '<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>新用户注册</title> </head> <body> <div align="center"> <table cellpadding="0" cellspacing="1" style="border:3px solid #d9e9f1;background:#7fbddd; text-align:left;"> <tr> <td style="padding:0;"> <table cellpadding="30" cellspacing="0" style="border:1px solid #ffffff;background:#f7f7f7;width:500px;"> <tr><td style="line-height:2;font-size:12px;">您的网站 <strong>' . $blogname . '</strong> 有新用户注册。<br />用户名:' . $user_login . '<br /> Email:' . $user_email . '<br /> <br />如果您不是 <strong>' . $blogname . '</strong> 的管理员,请直接忽略本邮件!</div> </td></tr></table></td></tr></table></div></body></html>'; // 给网站管理员发送邮件 $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 ( empty($plaintext_pass) ) return; // 你可以在此修改发送给新用户的通知Email,这里是HTML格式 $message = '<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>新用户注册</title> </head> <body> <div align="center"> <table cellpadding="0" cellspacing="1" style="border:3px solid #d9e9f1;background:#7fbddd; text-align:left;"> <tr><td style="padding:0;"> <table cellpadding="30" cellspacing="0" style="border:1px solid #ffffff;background:#f7f7f7;width:500px;"> <tr> <td style="line-height:2;font-size:12px;">您刚刚在网站 <strong>' . $blogname . '</strong> 注册一个帐号。<br /> 用户名:' . $user_login . '<br />登录密码:' . $plaintext_pass . '<br />登录网址:<a href="' . wp_login_url() . '">' . wp_login_url() . '</a><br /> <br />如果您没有在 <strong>'. $blogname . '</strong> 注册过任何信息,请直接忽略本邮件!</div> </td></tr></table></td></tr></table></div> </body> </html>'; // sprintf(__('[%s] Your username and password'), $blogname) 为邮件标题 wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message, $message_headers);}endif; ?> 以上代码的加到主题的functions.php或者命名为v7v3_new-user.php文件然后把文件传到wp-content/plugins/文件夹下,再到后台启用一个名为new-user-notification的插件即可。 PS:代码参考露兜 |
|