2012-01-18 101 views
2

是否可以使WordPress用户名成为电子邮件地址?使WordPress用户名成为电子邮件地址

因此,unername可以被隐藏或不需要,并被替换为电子邮件地址。

我知道有些插件可以让用户使用他们的电子邮件作为登录,但他们在注册时仍然需要输入用户名。我想尝试并取消用户名。

回答

4

用户名是WordPress DB和哲学中的核心实体,它不能被绕过那样。现在,如果您想让用户使用他们的电子邮件登录,请使用以下插件:http://wordpress.org/extend/plugins/wp-email-login/它允许您使用电子邮件/密码或用户名/密码登录。像一个月前发现它,就像一个魅力。

即使使用其他方式进行注册和登录(facebook,twitter和Google)的插件也会创建一个用户名(例如,我尝试过的一个插件会创建像fbX这样的用户名,其中X是Facebook ID。我们可以解决。

希望这有助于!:)

7

我知道这个线程是一岁多了,但我只是测试创建一个帐户,用户名是电子邮件地址和它的作品。理论上,您可以创建一个前端注册表单,将电子邮件变量保存到数据库中的用户名和电子邮件字段。

WordPress允许一些特殊字符的用户名,所以这是签署人一个完全有效的方法:http://codex.wordpress.org/Function_Reference/sanitize_user

+1

要知道,用户名是在DOM有时所示(一些类征求意见等,依赖于一个主题),所以通过使用电子邮件作为用户名的人可以看到你的用户的电子邮件.. 。 – trainoasis 2017-05-29 10:17:34

4

是有可能。即使你可以配置WordPress使用电子邮件登录,注册和检索密码。

您可以将下面的代码放在主题的functions.php文件中。

步骤-1:删除用户名文本框

add_action('login_head', function(){ 
?> 
    <style> 
     #registerform > p:first-child{ 
      display:none; 
     } 
    </style> 

    <script type="text/javascript" src="<?php echo site_url('/wp-includes/js/jquery/jquery.js'); ?>"></script> 
    <script type="text/javascript"> 
     jQuery(document).ready(function($){ 
      $('#registerform > p:first-child').css('display', 'none'); 
     }); 
    </script> 
<?php 
}); 

步骤2:删除用户名错误

//Remove error for username, only show error for email only. 
add_filter('registration_errors', function($wp_error, $sanitized_user_login, $user_email){ 
    if(isset($wp_error->errors['empty_username'])){ 
     unset($wp_error->errors['empty_username']); 
    } 

    if(isset($wp_error->errors['username_exists'])){ 
     unset($wp_error->errors['username_exists']); 
    } 
    return $wp_error; 
}, 10, 3); 

步骤3:处理背景注册功能。

add_action('login_form_register', function(){ 
    if(isset($_POST['user_login']) && isset($_POST['user_email']) && !empty($_POST['user_email'])){ 
     $_POST['user_login'] = $_POST['user_email']; 
    } 
}); 

还有一个插件来实现这一功能。

插件:https://wordpress.org/plugins/smart-wp-login/

相关问题