WordPressで会員登録時に、基本的にUsername(ユーザー名、ユーザー名)には、ハングルをはじめとする非ラテン文字ができません。 会員登録画面で、「ユーザー名」にハングルを入力してみると以下のようにエラーメッセージが表示されます。
「エラー:このユーザー名は正しくありません。正しいユーザー名を入力してください。」というエラーメッセージが表示されます。
会員登録時にユーザー名に日本語を許可するには、次のコードを使用している WordPress テーマ関数ファイルに追加するようにします。
/* Username에 비라틴어 문자 허용하기 */ add_filter('sanitize_user', 'non_strict_login', 10, 3); function non_strict_login( $username, $raw_username, $strict ) { if( !$strict ) return $username; return sanitize_user(stripslashes($raw_username), false); } // Source: http://wordpress.stackexchange.com/questions/7328/allowing-non-latin-characters-in-registration
参照された記事が少し長くなったが、コードをテストしてみると、まだうまく動作することを確認することができました。
参考までに、同様の機能をプラグインとしてロシア語、キリル語、アラビア語をユーザー名(Username)に使用できるようにする WordPress Special Characters in Usernamesというプラグインがあります。
私は内容通りにしましたが、どうしてもいけません。 WordPressはハングル版ですよ アルティメットメンバーを使用しています。プラグインの種類を隠すのですか?テーマはヘスティアを書くが、他のテーマに変えるバーも同様です。会員登録時にユーザー名にぜひハングルを書きたいのですが方法がないでしょうか…ありがとうございます。
内容通りにするのでハングルIDが作られました。
資料ありがとうございます。ところで、ハングルIDの長さを6文字以上長いものとして使用できる方法はありますか?
こんにちは、nadanaさん。
ハングルIDを使用することはあまりお勧めできません。 Naver IDなどほとんどのIDは英数字になっているのであえてハングルにする必要がないかと思います。むしろハングルにすればもうならないでしょうか?
質問の内容に対する回答としては、おそらく username フィールドの DB レコード長が制限されている可能性があります。
1. DBをバックアップします
2. phpMyAdminなどDBに接続して
3.次のSQLクエリを実行して長さを長くできるかどうかを確認しますか?
ALTER TABLE wp_users MODIFY user_login VARCHAR(100);
元のuser_loginフィールドのデータ値の長さは60文字です。上記のクエリを実行すると、長さが100文字に増えます。
wp_usersテーブル名は実際のテーブル名を変更してください。
上記の方法で試してみて、エラーが発生したりうまくいかない場合は、バックアップコピーを使用してもう一度元に戻してください。バックアップはupdraftplusプラグインを使用すると便利です。
https://www.thewordcracker.com/basic/db%EC%99%80-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EB%AA%A8%EB%91%90-%EB%B0%B1%EC%97%85%ED%95%98%EB%8A%94-%EB%B0%B1%EC%97%85-%EB%B3%B5%EC%9B%90-%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8-updraftplus/
ユーザー名ではなくニックネームを設定したい場合はどうすればよいですか?
お知らせいただいたソースから username をそれでも nickname に変更しましたが、動作しませんねㅠ(ultimate member プラグイン使用中です。
国内ショッピングモールに加入する際には、ユーザー名(Username)は英語と数字でのみ指定するようにすることが多いので、usernameをハングルに設定しようとするのはあまり望ましくないようです。
たとえば、ジマーケットに会員登録しようとすると、IDに英数字で6~10文字に設定することを案内しています。
https://www.screencast.com/t/5sx4fBlo
必要に応じて、「ユーザー名」を「ID」または「ID」に変更することを検討してください。
メモ: https://www.thewordcracker.com/intermediate/how-to-change-username-to-id-in-wordpress-default-registration-or-login-form/
ニックネーム(別名)はハングルでも指定ができませんか?
usernameは当然英文+数字でなければならないのが正しいと思います。
ニックネームはハングル記入時、
「ユーザー名に無効な文字が含まれています」
と出力されますね。 [ultimate member プラグイン]
こんにちは、実況。 おそらく、国連のニックネームフィールドで検証項目からオプションを選択したようです。
https://www.screencast.com/t/5rRlEbBxm2Dd
「確認する」オプションで設定された条件がある場合は、削除してください。
次の記事を参考にしてください。
https://avada.tistory.com/2515
私はテストしてみるとニックネームにハングルを入力しても問題は発生しませんでした。 問題が発生した場合は、前のコメントで述べたように、検証項目に条件が指定されていないことを確認してください。
こんにちは。
ユーザー名をハングルで変えました。
ところで、ログイン後の画面に公開される名前がハングルになっている場合、一字だけ出るようになります。
英語ですると出てくるんです
たとえば、testに設定すると、「test」になります。
テストにすると「テ」さんに出ます。
これらのことは、どうすればいいですか?
こんにちは?
WordPress Special Characters in Usernamesプラグインを使用しても動作しませんか?
ユーザー名は英語で登録するようにしてニックネームを表示するようにしてはいかがでしょう?
ユーザー名の代わりにニックネームを表示する方法を考えてみることができるようになります。
// Change user Nickname
function set_default_nick_name( $user_id ) {
$user = get_userdata( $user_id );
$name = 'LocalBeacon #10' . $user_id;
$args = array(
'ID' => $user_id,
'nickname' => $name,
'display_name' => $name
);
wp_update_user( $args );
}
add_action( 'user_register', 'set_default_nick_name' );
そして、セキュリティのために電子メールのみログインするように制限することが安全でしょう。
https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4%EC%97%90%EC%84%9C-%EC%9D%B4%EB%A9%94%EC%9D%BC-%EC%A3%BC%EC%86%8C%EB%A7%8C%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EB%A1%9C%EA%B7%B8%EC%9D%B8/
最近では、usernameの代わりに電子メールを使用するようにして有名サイトも多いので、この方法も大丈夫のようです。
私求めた答えを見つけたと思う!
もしテーマのいくつかのファイルに上記のコードを追加したことがわかりますか?
こんにちは?
ブログを訪問していただきありがとうございます。
使用している WordPress テーマの子テーマ(チャイルドテーマ)がインストールされていますか? その後、子テーマの関数ファイルに入力します。 FTP接続を介して変更することをお勧めします。
https://www.thewordcracker.com/basic/how-to-add-custom-codes-to-wordpress/ 文を参照してみてください。
そしてチャイルドテーマがインストールされていない場合のテーマで提供されるチャイルドテーマを利用してインストールして、テーマで別途提供されない場合には、次の記事を参考に、簡単なプラグインを1つ取り付けてチャイルドテーマをインストールすることができます。
https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EC%9B%90%ED%81%B4%EB%A6%AD%EC%9C%BC%EB%A1%9C-%EA%B0%84%ED%8E%B8%ED%95%98%EA%B2%8C-%EC%B0%A8%EC%9D%BC%EB%93%9C-%ED%85%8C%EB%A7%88-%EC%9E%91%EC%84%B1/