WooCommerceでユーザー登録を完了時に、メールが届く。しかし、メールの先頭に表示されているは、ユーザー名になっている。
↓こんな感じだ


しかし、登録したお客様のメールアドレスに加えて、ユーザー名を覚えてもらうのは大変だ。
WooCommerceでお客様がユーザー登録したときに、作るアカウントのユーザーをメールアドレスに設定すると、シンプルになる。
以下のコードを functions.php に追記することで、このカスタマイズが可能となる。
add_filter( 'pre_user_login', 'wc_email_as_username' );
function wc_email_as_username( $user_login ) {
if( isset($_POST['billing_email'] ) ) {
$user_login = $_POST['billing_email'];
}
if( isset($_POST['email'] ) ) {
$user_login = $_POST['email'];
}
return $user_login;
}
公式フォーラム(英語)「Modify the “New Account” Email to display the users first name」を参考にした。
ユーザー登録完了メールに、メールアドレスが表示されている。

