在BuddyPress的注册电子邮件或激活页面中显示用户的用户名

时间:2012-09-25 作者:Tanya

a) 我希望该人的用户名,以包括在他们的激活电子邮件一旦注册。

e、 g.激活电子邮件如下:感谢注册!要完成帐户激活,请单击以下链接并使用您选择的用户名和密码登录:激活链接url

如果不可能的话。

b) 如果在电子邮件中单击激活链接后更容易在页面上显示它,我想在那里显示此人的用户名。

e、 g.激活页面:您的帐户已成功激活!现在,您可以使用注册时提供的用户名和密码登录。

1 个回复
最合适的回答,由SO网友:Ahmad M 整理而成

您可以通过将此代码添加到bp-custom.php 或主题的functions.php 文件

add_filter(\'bp_core_signup_send_validation_email_message\', \'add_username_to_activation_email\',10,3);

function add_username_to_activation_email($msg, $u_id, $activation_url) {
    $username = $_POST[\'signup_username\'];
    $msg .= sprintf( __("After successful activation, you can log in using your username (%1\\$s) along with password you choose during registration process.", \'textdomain\'), $username);
    return $msg;
}
EDIT: 没错,如果用户在用户名中使用了空格,Buddypress不会向他显示错误,注册过程将继续。下次用户尝试使用用户名和空格登录时,登录过程将失败。所以我们必须更换$username = $_POST[\'signup_username\'] 具体如下:

add_filter(\'bp_core_signup_send_validation_email_message\', \'add_username_to_activation_email\',10,3);

function add_username_to_activation_email($msg, $u_id, $activation_url) {
    // $username = $_POST[\'signup_username\'];
    $userinfo = get_userdata($u_id);
    $username = $userinfo->user_login;
    $msg .= sprintf( __("After successful activation, you can log in using your username (%1\\$s) along with password you choose during registration process.", \'textdomain\'), $username);
    return $msg;
}

结束