2012-01-18 5 views
2

WordPressユーザー名に電子メールアドレスを付けることは可能ですか?WordPressユーザーに電子メールアドレスを設定する

したがって、unernameは非表示にするか、必須ではない可能性があり、電子メールアドレスに置き換えられます。

ユーザーがログインとして電子メールを使用できるようにするプラグインがあることは知っていますが、登録時にユーザー名を入力する必要があります。私はユーザー名を削除しようとします。

答えて

4

ユーザー名はWordPress DBと哲学の中心的なエンティティであり、そのようにバイパスすることはできません。今すぐあなたが電子メールでログインできるようにしたい場合は、このプラグインを使用してください:http://wordpress.org/extend/plugins/wp-email-login/あなたは電子メール/パスまたはユーザー名/パスのいずれかでログインすることができます。一ヶ月前のように見つけられ、魅力のように働く。

登録とログインの代替手段(facebook、twitter、Google)を使用するプラグインでもユーザー名が作成されます(たとえば、Xbがfacebook IDのユーザー名を作成しました。我々は回避することができます。このことができます

希望を!:)

7

私はこのスレッドが今歳を超えているけど、私はただ、ユーザー名、電子メールアドレスでアカウントを作成しテストし、それが動作します。理論的には、電子メール変数をデータベースのユーザー名と電子メールフィールドの両方に保存するフロントエンドサインフォームを作成することができます。

WordPressは、いくつかの特殊文字を含むユーザー名を許可するので、これは人々をサインアップするために完全に有効な方法である:http://codex.wordpress.org/Function_Reference/sanitize_user

+1

ユーザ名の人として電子メールを使用して、ユーザーの電子メールを見ることができるように、ユーザ名を(などのコメントのいくつかのクラスは、テーマによって異なります)時々DOMに示されていることに注意してください。.. 。 – trainoasis

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/

関連する問題