質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

4回答

7017閲覧

wordpressの「ユーザー名」で使用できる文字は?

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

1クリップ

投稿2018/06/10 10:05

公式サイトなどを探し回ったのですが、使用できる文字について見つけ出すことができませんでした。

Wordpress Codex 日本語版 ユーザー名

検索エンジンでは下記が見つかります。
Kagoya WordPress(ver2.8.4) インストール

半角英数、「 - (ハイフン)」、「 _ (アンダースコア)」、「@」以外の記号、全角文字はご利用にいただくことができません。

Zenlogicの使い方 WordPressのインストール

1文字以上60文字以内でご入力ください。
半角英数字/各種記号(- _ @ .)がご利用いただけます。

書かれている内容が異なるので、バージョン違いか、独自仕様かもしれません。

また、英字の小文字大文字も登録できますが、チェック時には大文字小文字は同一視されることは確認しています。
このあたりも情報を見つけられません。

もちろん「コードを見ればわかる」なのかもしれませんが、
Wordpressの公式において公表されている情報を探しています。
もちろん「公表されていない」ということでも構いません。

よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

自分も調べてみましたが、公式っぽいマニュアルは発見できませんでした。唯一あるとすれば、PHPDocs になります。
個人的興味から、求められてはいないと思いますがソースコードをみてみました。

ソースコードを見る限り、使える文字列は「『英数字』『記号(. _ - @)』を組み合わせた60文字以下の文字列」のようです。なお「60文字以下」の根拠は、テータベースの構造が VARCHAR(60) になっていることです。
ただし注意点として、オクテットは削除されます。オクテットと認識されるものは以下です。

・「&」ではじまり「;」で終わる文字列
・「%」の後に「a-f」または「A-F」または「0-9」のいずれか2文字の合計3文字の文字列

以上のことから、Zenlogic の説明に注意書きとして、オクテットのことを書いておくのがよいと思いました。

投稿2018/06/10 22:37

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/11 04:10

ありがとうございます。 やはりソースコードから見るしかなさそうですね。 とても参考になりました。
guest

0

すでについていた回答を見て、何気なく手元のテスト環境で「test@example.com」のようなユーザーを試しに作ろうとしたら、「Usernames can only contain lowercase letters (a-z) and numbers.」のエラーが出たので、調べてみました。(マルチサイト環境です。)

同じくソースコードからの情報( https://core.trac.wordpress.org/browser/tags/4.9.6/src/wp-includes/ms-functions.php#L436 )ですが...

マルチサイトの場合は、 wpmu_validate_user_signup() でのチェックも入るようで、英小文字と数字以外を含んでいると「Usernames can only contain lowercase letters (a-z) and numbers.」のエラーになります。

また、NG文字列も定義されていて、'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator' と一致するユーザー名は設定不可になっています。


ということで、どのような WordPress 環境でも OK なユーザー名は、 「英小文字と数字」だけで作成された(NG文字列ではない)60文字以内のユーザー名となりそうです。

投稿2018/06/10 23:51

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/11 04:12

シングルサイトとマルチサイトで動作が異なるのはちょっとびっくりです。 NG文字列もあるのは注意が必要ですね。
guest

0

シングルサイトなら

https://developer.wordpress.org/reference/functions/sanitize_user/#user-contributed-notes

マルチサイトなら

https://developer.wordpress.org/reference/functions/wpmu_validate_user_signup/

にヒントがありました。

シングルサイトの場合はkuck1uさんの回答+途中の空白文字列は大丈夫なようです(空白については一応確認してみました)。

マルチサイトの場合はCHERRYさんのおっしゃる通り、条件が追加されています。

上のURLはWordpressのデベロッパー用資料なので参考程度に見てみてください。

投稿2018/06/11 01:36

momosiri

総合スコア1509

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/11 04:15

空白は気が付きませんでした。確かにソースをみると途中の空白になっていますね。
guest

0

まとめとして残しておきます。

シングルサイトの場合は、


マルチサイトの場合は、


公式サイトでは「ユーザー名に利用できる文字」についての情報はなさそう。
ソースからチェックするのが妥当と思われる。

投稿2018/06/11 04:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問