WordPressの初期設定では、ユーザーはユーザー名またはメールのどちらかでログインすることができます。
これによりログインが簡単になる反面、ハッカーがメールアドレスを推測しやすくなるため、セキュリティ上のリスクも伴う。
会員制サイト、オンラインストア、複数投稿者のブログを運営している場合、メールログインを無効化することで保護レイヤーを追加し、セキュリティを強化することができます。
この投稿では、WordPressのメールアドレスによるログイン機能を無効化する方法を紹介します。

WordPressでメールログインを無効化する理由
ユーザーによっては、メールアドレスはユーザー名よりも常識だと考えている人もいる。誰かにメールを送れば、相手はすでにあなたのメールアドレスを知っている。
誰かがあなたのWordPressサイトに侵入しようとした場合、メールアドレスを知っていれば、パスワードを推測したり、メールアカウントをハッキングすることで、侵入が容易になる可能性があります。
私たちは、ログインにメールアドレスを使用することでWordPressサイトの安全性が低くなるとは考えていません。 WordPressの管理ディレクトリをパスワードで保護したり、 二段階認証を追加するなど、セキュリティのレイヤーを増やすことはいつでも できます。
とはいえ、WordPressサイトのメールログイン機能を無効化したいユーザーもいらっしゃるかと思います。簡単にできる2つの方法をご紹介します:
さっそく飛び込んでみよう。
方法1.WordPressでコードを使用してメールによるログインを無効化する(推奨)
この方法では、WordPressファイルにコードを追加する必要があります。WordPressにスニペットを貼り付ける方法については、こちらをご覧ください。
メールでのログイン機能を無効化するには、通常、テーマのfunctions.phpファイルまたはコードスニペットプラグインに以下のコードを追加する必要があります。
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
それを簡単にするために、WordPressのための最高のコードスニペットプラグインであるWPCodeを使用することができます。

メールによるログインの無効化、WordPressのバージョン番号の削除、コメントすることの無効化など、WordPressの機能に関する最も一般的な要望のすべてに対応した、すぐに使えるコードスニペットがビルトインされています。
私たちは、デモサイトでこのツールを徹底的にテストし、それが超初心者フレンドリーであることがわかりました。さらに詳しく知りたい方は、WPCodeのレビューをご覧ください。
まず、無料のWPCodeプラグインをインストールし、有効化する必要があります。ヘルプが必要な場合は、WordPressプラグインのインストール方法のチュートリアルをお読みください。
プラグインを有効化したら、WordPressの管理ダッシュボードからCode Snippets “Libraryに移動します。
次に、「Disable Login by Email」スニペットを検索し、「Use snippet」ボタンをクリックします。

その後、WPCodeは自動的にコード・スニペットを追加し、適切な挿入方法を選択します。
WPCodeエディターではこのようになります:

ここからは、スイッチを「非活性化」から「有効化」に切り替えるだけでいい。
そして、「更新」ボタンをクリックします。

それだけだ!
これにより、ログインページでは何も変更されず、ユーザー名またはメールアドレスのいずれかを使用してログインできることがユーザーに表示されます。しかし、メールアドレスを入力してログインすると、無効なユーザー名エラーが表示されます。
方法2.プラグインを使用してWordPressでメールによるログインを無効化する。
また、個別プラグインNo Login by Email Addressでメールによるログイン機能を無効化することもできます。
そのためには、まずプラグインをインストールして有効化する必要があります。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
プラグインは箱から出してすぐに使えるので、設定することはありません。WordPressサイトのログイン画面にアクセスし、メールアドレスでログインしてみてください。
無効なユーザー名エラーが表示されることがわかります。プラグインはまた、’ユーザー名またはメール・アドレス’ラベルを単に’ユーザー名’に変更します。

以上、この投稿がWordPressのメールアドレスでのログイン機能を無効化するのにお役に立てば幸いです。次に、WordPressのログインエラーメッセージでログインヒントを無効化する方法や、WordPressのログイン画面にセキュリティの質問を追加するチュートリアルもご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
momses
Hi,
Thanks for you article. I’m looking for a way to Login only By mail no Username.
Thanks in advance for you help.
Dom WO
Does this article also cover the registration form in woocommerce for the customers or it is only for the admin side login ?
Debra
Somehow it isn’t clear to me how to add a username once the email address login is disabled. Can you please explain.
Thanks so much
WPBeginner Support
If you have user registration enabled on your site, then those users can still register using their email addresses. But they will not be able to use the email address to login. They will have to use the username to login. As an administrator, you will also need to enter an email and user name when adding a new user.
Admin
Abdul Samad
Thank you for article
I want to know, how to allow login with mobile number
Second, I want to register my customer without email in wordpress
Please help me out with this
Thanks
Jeramy Queale
I simply couldn’t go away your website prior to suggesting that I really loved the usual information an individual provide in your visitors? Is gonna be back frequently to check up on new posts
Jayna Coppedge
I have a login to my wordpress blog. I have a different login for another wordpress blog I write with others. However when I want to comment on another wordpress blog. Neither user name or password works. I have not been willing to say change this long in because I am afraid it would affect the other 2. I don’t know what to call the 3 category to even look up the problem.
WPBeginner Support
We are not sure what you are trying to ask. But it seems like you probably have two self hosted WordPress.org accounts. And the websites you are trying to comment on are asking you to sign in with a WordPress.com account. Please see our guide on the difference between self hosted WordPress.org vs free WordPress.com blog.
Admin