2012-01-18 94 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/

相關問題