2012-01-18 2 views
2

Возможно ли сделать имя пользователя WordPress адресом электронной почты?Сделать WordPress Имя пользователя Адрес электронной почты

Таким образом, имя пользователя может быть скрыто или не требуется и заменяется адресом электронной почты.

Я знаю, что есть плагины, которые могут позволить пользователям использовать их электронную почту в качестве входа в систему, но они все равно должны ввести имя пользователя при регистрации. Я хочу попытаться покончить с именем пользователя.

ответ

4

Имя пользователя является основным объектом в БД WordPress и его философией, и его нельзя обойти как это. Теперь, если вы хотите, чтобы пользователи входили в систему со своими электронными письмами, используйте этот плагин: http://wordpress.org/extend/plugins/wp-email-login/ Он позволяет вам входить в систему с помощью либо электронной почты, либо pass или username/pass. Найдено, как месяц назад, работает как шарм.

Даже плагины, которые используют альтернативные способы регистрации и входа в систему (facebook, twitter и Google), создают имя пользователя (например, один подключаемый модуль, который я пробовал, создает имена пользователей, такие как fbX, где X - это идентификатор Facebook. К сожалению, это не что-то мы можем работать вокруг.

Надеется, что это помогает! :)

7

Я знаю, что нить более года, но я просто проверял создание учетной записи, где имя пользователь является адресом электронной почты, и это работает. Теоретически вы можете создать форму входа в интерфейс, которая сохранит переменную электронной почты для полей имени пользователя и электронной почты в базе данных.

WordPress позволяет логины с некоторыми специальными символами, так что это вполне допустимый способ подписать людей вверх: http://codex.wordpress.org/Function_Reference/sanitize_user

+1

Имейте в виду, что имена пользователей отображаются в DOM иногда (некоторые классы для комментариев и т.д., в зависимости от темы), так что с помощью электронной почты в качестве имени пользователя люди могут видеть электронные письма пользователей .. , – trainoasis

4

Да, это возможно. Даже вы можете настроить WordPress для входа, регистрации и получения пароля только по электронной почте.

Вы можете поместить код ниже в свой файл темы functions.php.

Шаг 1: Удалить Имя пользователя TextField

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/