こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
本日は「WP Members」で新規会員に特定の会員番号を振る方法です。以前に数名の方からお問い合わせをいただいていた内容なので解決策として方向性を共有いたします。ぜひご参考くださいませ。
WP Membersで特定の会員番号を発行する方法
前提として「どこまで厳密にするのか?」でかなり費用が違ってきます。厳密には色々な意味が含まれます。固有の会員番号を発行する方法はさまざまなので手軽なカスタムから解説いたします。
手頃なカスタムで済ませたい方へ
もし予算がなく格安で済ませたいなら発行時にユーザーIDを自動設定するのが最適。
ざっくり言えば以下の2つをクリアしていればOKです。
・会員登録画面でユーザーIDが自動入力される(データベースからSELECTで判定)
・ユーザーIDは既存の会員と被らない文字列にする(条件分岐で重複入力を避ける)
特に細かくこだわらなければ以上のカスタマイズだけで済みますよね。
手軽なカスタムの問題点
簡易カスタムでは考え方次第で下記が気になるかもしれません。
・せっかくの会員番号ならもう少し英文字とか織り交ぜたい!
・ユーザー側が会員登録画面で番号を変更した場合の対策は?
もし「52」などの会員番号を「PB10052」といった独自番号にするなら将来発行される可能性がある番号に影響しない状態(バッティングしないようにロジックを組む)で仕上げなければなりません。
フォームを手入力で「52」から「55」へ変更しても良いなら対策する必要もなくなります。ただ、自由な番号を許可すると番号が順番ではなくランダムに埋まるので会員番号として管理する意味も薄まります。
会員番号は連番の方がいい?
たとえばメンバーズカードは「100001」や「331777」といった番号が自動で振られますよね。番号がすべて連番で管理されているのにも理由があります。初期にしか発行できない番号には価値があるからです。
となれば以下の2つを追加で処理しなければなりませんよね。
・会員登録時に表示された番号をその場で変更できない仕様にする
・希望の英文字を頭文字につけて開始する番号や桁数まで指定する
もし会員番号が「自由入力」だと利用者側を悩ませる可能性も高まります。自由入力を防ぐには入力フォームの内容変更を拒否してしまうのが一般的です。以下の通りグレーアウトして変更不可にできます。
とはいえ「グレーアウト(readonly等)で制御するだけ」では完璧には防げません。たとえばデベロッパーツールでvalue値を変更されると編集した後の数値が送信されるので完全な対策とは言えないわけです。
以下の通り変更できてしまいますよね。
そこで次に以下の処理が必要となります。
・発行予定番号と登録リクエストがあった番号の一致を確認する(希望番号は不可)
処理がどんどん増えていきますね。厳密に行うほどプログラミングは複雑化していきます。もし違った番号が入ってきたらエラーメッセージを出して「想定していた発行予定番号」に戻さなくてはなりません。
実際にメッセージを出して予定していた番号「PB10055」へ差し戻した状態が以下。
結局どこまで想定するのかでプログラミング範囲は大きく変わるわけです。
将来的に「会員数が想定の桁数を超えた場合」も考えなければなりません。もっと言えば「会員を退会したユーザーが使っていた番号を再利用するのか?」という問題もあるので想定が広がると処理も増えます。
カンタンなカスタマイズでよければ安くても想定の範囲を広げると高くなるのはそういう背景があるからです。そのため当チームでは可能な限り詳しくヒアリングをさせていただき、お客様が求められるご希望の状態へと仕上がるように最適なロジックを組み上げています。もちろん「すべてお任せ」でも対応することは可能です。
まとめ
本日は「メンバーシップサイトで会員番号を振る方法」をご紹介いたしました。
本記事ではお伝えしていませんが、もし「ユーザー側の自由入力を許可する」ならお客様が入力された会員番号がバッティングしていないかをチェックする必要もありますよね。確認処理も「入力直後(リアルタイム)」なのか「登録ボタンを押した後」の2択でもプログラミングは違います。
会員番号と言ってもあらゆるパターンが想定できますね。ご参考になれば幸いです。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する