Wordpress
バックエンド
wp-loginをメールアドレス限定にする
WordPressログインは「ユーザー名」と「メールアドレス」の2通りでログインできますが、会員制サイトを作るときはオリジナルログイン画面を用意してメールアドレスのみで認証できるように、などUXが配慮されるのでユーザー名ログインを使えなくする方法になります。
コードの指定方法
functions.php に以下のコードを記載します。
function force_email_login( $user, $username, $password ) {
$user_data = get_user_by( 'email', $username );
if( !empty( $user_data ) ) {
return wp_authenticate_username_password( null, $user_data->user_login, $password );
}
return wp_authenticate_username_password( null, '___', $password );
}
add_filter('authenticate', 'force_email_login', 20, 3);