WordPress 会員登録時にユーザーが会員の評価を選択できるようにする

WordPressでユーザーが会員登録をするときに個人会員/企業会員あるいは学生/教授/教職員/一般人のように会員等級(役割)を選択できるようにしたい場合があります。この場合、人気のメンバーシッププラグインであるUltimate Member(Ultimate Member)が提供する機能を使用するか、WP Roles at Registrationという無料のプラグインを使用できます。

[この記事は、最新の情報に基づいて内容を修正して再発行されました。 ]

Ultimate Memberプラグインを使用する

Ultimate Member(アルティメットメンバー)などの会員制プラグインを使用すると、会員の種類を選択できるドロップダウンメニューまたはラジオ選択フィールドを追加できます。

[役割]フィールドには、セキュリティのためにUMカスタムの役割のみが可能です。

For security reasons the role fields are limited to UM custom roles only. Go to Ultimate Member->User Roles, inside your dashboard & check if the roles you are mentioning UM custom role or not. If not, they won't show up. You can recreate those roles as UM custom roles from there and then Delete the role field from your UM form and re-add again which should automatically show up the newly created roles

ソース:https://wordpress.org/support/topic/ultimate-member-user-role-select-does-not-work/

UMカスタムロール(メンバーシップ評価)がない場合、 Ultimate Member » ユーザーロールに移動して新規に追加し、UMカスタムロールを追加します。

WordPress 会員登録時にユーザーが会員クラスを選択できるようにする2

これで、Ultimate Memberの会員登録フォームに「Radio」または「Role(ドロップダウン)」フィールドを挿入できるようになりました。 (2つのフィールドは同じ機能を持っています。1つはラジオフィールド形式で表示され、1つはドロップダウンメニューから役割を選択できます。)

Ultimateメンバーロール選択の追加

上記のように設定すると、次のように表示されます。

Ultimate Memberプラグインメンバータイプの選択関連のサムネイル

ハングルの翻訳がぎこちない部分がありますね。 そのような部分は、 Loco TranslateプラグインやPoeditプログラムを使用して変更してください。

加入者が会員ランクを選択できるようにするWP Roles at Registration

WordPress WP Roles at Registrationプラグイン

このプラグインはずっと前に WordPress リポジトリから削除されました。この方法の代わりに、上記の「Ultimate Memberプラグインの使用」のセクションで説明されている方法を使用してください。

このプラグインを利用すると、ユーザーが会員登録の過程で選択された役割(会員ランク)の中からいずれかを選択することができます。 このプラグインは、BuddyPressでもよく動作します。 管理者は、管理者ページで、ユーザーが選択可能なメンバーの評価をすることができます。

WP Roles at Registrationをインストールすると、 設定> WP Roles at Registration メニューが追加されます。 WP Roles at Registrationの設定ページをクリックすると、次のようにユーザーに表示するメンバーの評価を選択することができます。

会員レベルを設定する

Choose Roles(役割の選択)で会員登録(登録)フォームで選択できるメンバーの評価を選択します。 Role Label(役割ラベル)は、フィールド名を指定します(例えば、会員の種類)。

これにより、次のように会員登録フォームに会員ランクを選択できるフィールドが追加されます。

WordPress 会員登録

基本会員レベルの名前が英語で表示されます。 プラグインの言語ファイルを翻訳して会員ランクの名前をハングルで変えることができるようになります。

新しいメンバーの評価を追加する

WordPressで提供される基本的なメンバーの評価に加えて会員ランク(例えば、個人会員、企業会員)を追加したい場合には、 User Role Editorプラグイン(無料)を利用することができます。 使用方法は、次の方法を参考にしましょう。

たとえば、次のように「購読者」会員クラスをそのまま複製して新しい会員クラスを作成できます。

新しい会員レベル作成

基本会員レベルを設定する

次のことは、加入者が参加するときにデフォルトで割り当てられる会員レベルを指定することです。 デフォルトでは、「加入者」が基本会員クラスに指定されています。

ユーザーが登録したときにユーザーに基本的に付与されるメンバーの評価(役割)を変更するには、 設定>一般に移動し、 新しいユーザーのための基本的なルールで探し種類を選択します。

WordPress 基本会員レベル設定

もちろんすぐ上の」メンバーシップ「オプション」誰でも参加することができます「として指定する必要があります。ユーザーがメンバーシップに参加できます。ユーザーがメンバーシップに参加する必要がない場合は、このオプションをチェックしないでください。

設定> WP Roles at Registration ページに移動して、ユーザーが選択可能なメンバーの評価の種類を選択します。

メンバーの種類を選択する

設定を保存した後の会員登録フォームを確認してみると、ここで指定したメンバーの種類を選択できるように表示されます。

会員登録時に会員ランクを選択する

テストをしてみると、必要に応じて動作しますね。 会員登録の過程で、加入者の会員レベルや種類を区別する必要がある場合には、プラグインを使用することができます。

その他の方法 - カスタムコード

プラグインの使用が気にされる場合は、次のコードを利用してみることができます。

//1。 Add a new form element... 新しいフォーム要素を追加する add_action( 'register_form', 'myplugin_register_form '); function myplugin_register_form() { global $wp_roles; echo ' '; foreach ( $wp_roles->roles as $key=>$value ) { // Exclude default roles such as administrator etc. Add your own if ( ! in_array( $value['name'], [ 'Administrator', 'Contributor', ] ) { echo ' '.$value['name'].' '; } } echo ' '; } // 2。 Add validation.検証を追加する add_filter( 'registration_errors', 'myplugin_registration_errors '、10、3); function myplugin_registration_errors( $errors, $sanitized_user_login, $user_email ) { if ( empty( $_POST['role'] ) || ! empty( $_POST['role'] ) && trim( $_POST['role'] ) == '') { $errors->add( 'role_error', __( ' ERROR : You must include a role.', 'mydomain' ) ); } return $errors; } // 3。 Finally, save our extra registration user meta.追加登録ユーザーメタを保存する add_action( 'user_register', 'myplugin_user_register '); function myplugin_user_register( $user_id ) { $user_id = wp_update_user( array( 'ID' => $user_id, 'role' => $_POST['role'] ) ); } //ソース:https://wordpress.stackexchange.com/questions/195603/how-to-add-users-roles-dropdown-in-registration-in-wordpress

実際に動作するかは、テストしてみました。 正常に動作しないというコメントもありますね。 正常に動作しない場合は、上記のコードと、次の WordPress 公式文書を参照してしっかりとしたコードを作成することができそうです。

  • https://codex.wordpress.org/Customizing_the_Registration_Form
  • https://codex.wordpress.org/Function_Reference/wp_update_user

最後に、

以上で WordPressで、会員登録時にユーザーが会員クラスを選択できるようにする方法について説明しました。より精巧に会員制サイトを運営したい場合 Ultimate Memberや WP-メンバー 同じメンバーシップのプラグインを使用することができます。

ちなみにProfilePressというユーザー・プロファイルのプラグインもありますね。 このプラグインは、コストが結構高価ですが、この記事で言及した機能に加えて、様々な機能を提供することです(https://profilepress.net/how-to-allow-user-role-selection-at-wordpress-registration /を参照)。

しかし、このようなプラグインは、セキュリティ上の問題があることがありますので、常に最新のバージョンにアップデートすることをお勧め。 実際、最近のUltimate Memberプラグインのセキュリティの脆弱性のために更新が疎かにした多くのサイトがマルウェアに感染している事例が発生しました。

前述したようあえて会員登録を受ける必要がない場合は会員登録機能を無効にする方が良いようです。

参照

一部の記事にはアフィリエイトリンクが含まれている場合があり、パートナーの活動で一定額の手数料を受け取ることがあります。

2のコメント

コメントを残す

*電子メール情報は公開されません。