スポンサードリンク


WordPressのログイン認証をメールアドレスに変更する方法!ログイン画面のラベルを簡単にカスタマイズ!

WordPressでユーザログインする場合、登録したユーザアカウントのIDとパスワードを使いますよね。

そもそもがWordPressの標準仕様なんですが、
もしかしたらサイト運営者さんによっては本来利用するユーザー名ではなく、
メールアドレスでログインしたいと思われる方もいるかもしれません。

個人でブログを運営する分にはさほど気にならなくても、
SNSや会員サイト、もしくは仲間内で展開するウェブサイトだったらなおさら、
ログイン方法や仕様を工夫しなくてはいけないことがあると思います。

ログイン方法をユーザID以外に変えることはできるの?
可能です。
WordPressデフォルトでは「ユーザー名」がデフォルトですが、パラメータを変更することで切替できるみたいです。

 

今回はよくあるメールアドレスを使ってのログイン方法に切り替える手順を公開します。

まあ、ログイン方式なら一般的に「ユーザー名」か「メールアドレス」くらいで、
他の情報でログインするケースは少ないので、「メールアドレス」に変えたいと思います。

 

WordPressのログイン方法をメールアドレスに切り替える

WordPress メールアドレス ログイン

設定方法はとても簡単です。

WordPressでおなじみに関数定義ファイル(functions.php)に変更を加えるだけです。

本当に追加するだけで終わってしまいますので、2パターンご用意しました。

 

ユーザー名とメールアドレスを併用してログイン

 

上記のソースコードは、「ユーザー名」の入力フォームに入力した値を
「メールアドレス」として扱い、そのメールアドレスを持つ該当ユーザをget_user_by関数で検索します。

検索後、ユーザ情報が取得できた場合は、
そのメールアドレスを持つユーザが存在していることとなり、そのユーザの「ユーザ名」を$username変数にセットします。

あとは単純に、ログイン認証を行なっているだけですね。

なので裏では「ユーザ名」と「パスワード」でログインしていることになりますね。

 

スポンサードリンク

 

 

メールアドレスだけでログインする方式

 

一番上でご紹介したソースコードとほぼ同じですが、違う点はif文の分岐処理で、elseを加えているところです。

もしメールアドレスでユーザ情報を検索し、
ユーザ情報が取得できなければ、強制的に「ユーザー名」を空文字にしてしまい、強制的にログイン認証を失敗させる動きになります。

なので「メールアドレス」ではなく「ユーザー名」を入力し、
ログインを試みようとすると、入力した「ユーザ名」を「メールアドレス」として検索するので、
ユーザ情報が取得できず、ログイン失敗になります。

こうすることで「メールアドレス」以外のログインを禁止させることができます。

 

ログイン画面のラベルを変更する方法

上記のソースコードを追記することで、簡単にログインの仕様を変更できたと思います。

しかし、このままでは「メールアドレス」でログインしなくてはならないのに、
ログイン画面のラベルが「ユーザー名」のままになり矛盾が発生します。

ということで、ログイン画面のラベルを変更する方法もご紹介したいと思います。

 

 

 

こちらのメソッドを同様にfunctions.phpに追記することで、
ログイン画面の「ユーザー名」のラベルを変更することができます。

特に説明は必要ないと思いますが、「7行目」の文字列に変更されますよ。

これでログイン画面の仕様を変更することができたと思いますが、
気がかりなのが、ラベル変更の処理をid値ではなく、直接ラベル名を判定して書き換えているので、WordPressの仕様やロケール対応している場合はもう少し工夫しないとユーザー名部分のラベル表記がおかしくなるかもしれません。

お使いのWordPress環境に合わせてうまいこと変更して下さい。

The following two tabs change content below.
よっき
パソコンが大好きな青年。職業はプログラマ。 幼少期からパソコンが好きで、趣味がそのまま仕事になりました。 主にウェブ系コンテンツの開発が中心です。 自作PCの魅力に惹かれたのは学生時代の頃で、現在に至ります。 自作PC専門ブログで、お得な情報を紹介しています。 趣味はホームページ制作かな。起業を夢見て奮闘中の毎日!

スポンサードリンク


コメントを残す




*

このページの先頭へ