a)登録したら、そのユーザーのユーザー名をアクティベーションメールに含めるようにします。
例えばアクティベーションメールは次のようになります。登録いただきありがとうございます。アカウントの有効化を完了するには、次のリンクをクリックして、USERNAMEと選択したパスワードを使用してログインしてください。アクティベーションリンクのURL
あるいはそれが不可能な場合。
b)メールでアクティベーションリンクをクリックした後にページに表示する方が簡単な場合は、そこにそのユーザーのユーザー名を表示します。
例えば有効化ページ:アカウントは正常に有効化されました。これで、サインアップしたときに指定したユーザー名USERNAMEとパスワードを使用してログインできます。
このコードをbp-custom.php
またはテーマのfunctions.php
ファイルに追加することで、アクティベーションEメールにユーザー名を追加できます。
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;
}
編集:ユーザーが自分のユーザー名にスペースを使用した場合、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;
}