無料でビットコインをもらえるのは、ビットフライヤー

[み]WordPressでユーザー名でもメールアドレスでもログインできるようにする方法

wordpress

こんにちわ、WordPress推しのみはら(@masashi_385)です。今回紹介するのは、WordPressでユーザー名でもメールアドレスでもログインできるようにする方法です。ユーザー名ってけっこう忘れるので、メールアドレスでログインできたらすごく親切設計ですよね。ということで、プラグインを使ってやる方法と、functions.phpをごにょごにょしてやる方法の2つを紹介しますので、お好みにあわせて実装してください。

プラグイン「WP Email Login」

このプラグイン、名前がそのまんまですね。どうみても、WordPressにメールアドレスでログインするプラグインですね。使い方も特にハマるようなところも無く、問題なく使えるんじゃないでしょうか?もし、日本語で使いたいという方は、かちびと.netさんで日本語化ファイルを配布していますので、そちらでダウンロードしてください。日本語化ファイルは、解凍してWP Email LoginのフォルダにコピペすればOKです。
ユーザーIDでも登録したメールアドレスでもログイン出来るようにするWordPressプラグイン・WP Email Login(と、日本語ファイル) – かちびと.net

functions.phphで

次は、functions.phpにコードを追加してメールアドレスでログインできるようにする方法です。まずコードはこちらです。
[cc lang=”php”] function login_with_email_address($username) {
$user = get_user_by(‘email’,$username);
if(!empty($user->user_login))
$username = $user->user_login;
return $username;
}
add_action(‘wp_authenticate’,’login_with_email_address’);
[/cc] get_user_by()っていうみたことないような関数がありますね。これは、ユーザー情報を検索してマッチしたユーザー名を返す関数だそうです。これを使えば、メールアドレスだけでなく、ユーザーIDやユーザースラッグでもログインできるようにすることができます。

ここまでで、メールアドレスでもログインできるようになりましたが、せっかくなので、ログイン画面のテキストも変更して、メールアドレスでログインできる事を表示しましょう。ということで、次のコードをfunctions.phpに追加します。
[cc lang=”php”] function change_username_text($text){
if(in_array($GLOBALS[‘pagenow’], array(‘wp-login.php’))){
if ($text == ‘ユーザー名’){$text = ‘ユーザー名 か メールアドレス’;}
}
return $text;
}
add_filter( ‘gettext’, ‘change_username_text’ );
[/cc] 「ユーザー名 か メールアドレス」のところは、好きなように弄ってください。「メールアドレス」だけにしておくと、ユーザー名ではログインできない風に見えますね。まぁ、見えるだけで、実際にはユーザー名でログインできけどねw

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です