用于登录WordPress的电子邮件地址或用户名

时间:2013-03-11 作者:Midhun Mathew

如何允许用户同时使用电子邮件id和用户名登录我的wordpress站点?目前它只允许用户名。

1 个回复
最合适的回答,由SO网友:MidhuN 整理而成

从WordPress 4.5开始,使用电子邮件地址而不是用户名登录已添加到核心功能中。于年引入ticket 9568.

如果您运行的WordPress版本早于4.5,那么下面的小插件将起作用。如果你不(或不能)使用插件,理论上,这应该在你的functions.php 文件只需去掉插件注释标题。

<?php
/** Plugin Name: (#90328) Login with E-Mail address */
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\' );
希望这有帮助。

结束

相关推荐

通过挂钩替换wp-login.php登录表单,并使用带有wp-登录表单验证的自定义表单

我正在自定义所有wp登录。php表单,即登录、丢失密码、注册等。我有一个工作模型,但当我解码在自定义表单上抛出默认错误消息时,我想一定有更好的方法来创建自定义表单,并且仍然使用wp登录。php来完成所有繁重的工作,以及为什么在wp登录时编写自定义表单验证。php做得足够好吗?我正在构建一个插件。这是我的工作解决方案:1) 每个表单(登录、丢失通行证等)都是单独的。php文件。I表单的文件由get\\u header()和get\\u footer()包装2) 每个表单的操作都是wp登录。php。因此,当我