6ヶ月前ログイン画面は、現状だとユーザー名を入力することでログインできるようになっていますが、これをユーザー名ではなく、メールアドレスでログインできるようにしたいです。個人的に合わなかったので、コードでの実現を検討しました。そこで、コードを探したところ、kachibito.netさんで以下のようなコードを見つけました。$username;}add_action('wp_authenticate','login_with_email_address');ただし、このコードだとメールアドレスとユーザー名の両方でログインできる状態になります。希望としましては、ログインの方法をメールアドレスだけにしたいと考えています。プラグインではなく、コードでの実現を考えています。わかる方がいらっしゃいましたら、よろしくお願い致します。get_user_by('email',$username);ここで入力値を元にユーザーを取得していますね。if(!empty($user->user_login))次に取得したユーザーが正しいかどうかチェックしています。$user->user_login;ユーザーIDでメールアドレスを上書きしています。$username;結果的にWordPressに渡るのはメールアドレスの場合でもユーザーIDというわけです。この処理を改変して、メールアドレスからユーザーが取得できなかった場合は、空の値を返せばよいでしょうね。かんたんですのでやってみてください。6ヶ月前ご返信ありがとうございます。hissyさんのアドバイスをもとにいろいろといじってみたのですが、うまく機能しませんでした。最初に示したコードに対してユーザー名を入力した時にそのユーザー名でのログインを機能させないために、ユーザー名のほうに制限をかける、という認識でしょうか?初歩的な質問で申し訳ないです。ユーザーが存在しなかったら、ログイン画面で入力された文字列は素通り(素通りなので、正しいユーザー名であればログインできる)という処理です。「ユーザーが存在しなかったら、ログイン画面で入力された文字列を空の文字列で上書きする」とすればいいですね。5ヶ月前hissyさん、遅くなってしまい申し訳ありませんでした。3を具体的にどうしてよいか結局わからず、いろいろと試してしまったという状況です。以下のようにすると、ユーザー名でもメールアドレスでも入れなくなりました。5ヶ月前たぶん、難しく考えすぎでしょうね。使い方をご存知ないのかな。);しかし、プラグインではなくコードで実現されたいということでしたが、なぜなのか不思議です。これくらいのコードは理解して書かないと、コピペで実現してしまうと、もし将来のバージョンでこのコードに不具合が出た時に自分で修正できないですよ。5ヶ月前hissyさんコードを教えていただき、ありがとうございます。コードを教えていただいたのはありがたいのですが、このコードを貼りつけたところ、ユーザー名でもメールアドレスでも入れなくなりました。5ヶ月前hissyさん私の調べが足りないようでした。hissyさんのコードでメールアドレスのみということが出来るようになりました。機能はしましたので、ご報告させていただきます。原因や理由は発見次第、こちらでご報告させていただきたいです。勝手ながら解決済みにさせてください。ありがとうございました。(全8件中)トピック「ログインの時に、ユーザー名ではなく、メールアドレスでログインできる」には新たに返信することはできません。