ユーザーの登録と管理など会員制サイトを作ることができるプラグイン「Ultimate Member」

公開日:2017年3月21日 ユーザー管理
Knowledge Base 会員 メンバー
あーー疲れた(いきなり愚痴ですみません)、たくさんのプラグインをこれまで紹介してきましたが、今回紹介する【Ultimate Member】が一番大変で一番理解するのに苦労したプラグインであることに間違いないと思います。

設定項目がやたら多くて全部英語なので、ひとまず翻訳ファイルを作ってと思いいつものようにファイルを作成しましたが、なんと1400行を越える行数。本当に疲弊しました(しつこいですね、すみません)。

【Ultimate Member】はWordpressで会員制のサイトを作成するには欠かせない、かつ、これだけあればOKという無料のプラグインです。使ってみると「ユーザーの登録と管理をするにはこの設定やこの機能が必要だな」と作っていったプラグイン作者の情熱のようなものが伝わってくる秀逸でおすすめのプラグインです。

他の同類プラグインの中には無料会員だけでなく有料会員制のサイトも作れるものがありますが、無料会員制のサイトを作るにも有料版を購入しないと使い物にならないものばかり。無料で使用できるWordpressに得体の知れない有料版を使うのは意味がないというのが私の持論ですから何とか無料で会員登録と管理周りが全部設定できるものはないかと探してたどり着いたのがこの【Ultimate Member】です。

設定項目がたくさんあって使用するのが大変なプラグインですが、会員制サイトにとってはこの機能がキモとなりますからそれだけきっちりしたプラグインだといえると思います。

私も画面を見ながら、翻訳しながら、サイトに実装してみながらこの紹介ページを作成しましたので、長い文章になりますがざっと読んでいただければ内容や設定は理解いただける?と思います。

と言ってもいったいどんなことができるのかがイメージできないかも知れませんね。

※この紹介記事を作成した時点では会員登録回りしか完成していません・・・

【Ultimate Member】プラグインの基本的な機能・できること

基本的な機能

  1. フロントエンドからのユーザー登録
  2. フロントエンドからのユーザー登録情報の編集
  3. フロントエンドからのユーザー削除(退会)
  4. フロントエンドへユーザー情報(プロフィール)を表示
  5. フロントエンドへ登録ユーザーの一覧を表示
  6. フォームデザインの変更
  7. フォームの表示項目を変更

便利な機能&セキュリティ機能

  1. いざというときに管理者がアクセスできるパニックキーが使える
  2. ユーザー登録の認証方法は仮登録型・管理者承認型の2種類から選択できる
  3. 同じ目的のフォームを複数作成し、シーンに合わせて使い分けができる
  4. いろいろな方法でバックエンドへアクセスできる権限を制限できる
この記事の内容について
このプラグイン紹介記事は簡易的に動作テストをした上で紹介していますが以下の点にご注意願います
  1. すべての環境で動作するとは限りません
  2. できる限り最新のバージョンの情報を紹介するようにしておりますが、閲覧される時期によってはバージョンが変わり、仕様が大きく変更されている場合があります
  3. 有料版と無料版がある場合、テストは原則無料版のみで実施しています
  4. テスト環境については本文中に記載しています
  5. 使用方法で紹介しているショートコードやコードなどをコピーして使用すると、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。

WordPressの会員制サイト制作に必要なユーザー登録周りを実装するプラグイン「WP User Manager」

WordPressのフロントエンドの一覧(リスト)から任意の投稿を非表示にできるプラグイン「Unlist My Post」

WordPressで会員制サイトを作る際に必須のユーザー管理プラグイン「Theme My Login」


【Ultimate Member】プラグインの設定画面や表示の日本語化と翻訳

当サイトで私が翻訳した【Ultimate Member】プラグインの日本語化ファイルを配布しています。

翻訳ファイルは

からダウンロードできます(ダウンロードの方法や日本語の適用方法なども解説しています)

提供させていただくファイルは

  1. バージョンが進んだことによる翻訳文字列の不整合などにより日本語化されない部分の翻訳
  2. 同梱されている日本語文字列の中で不適切と思われる表現や文字の修正

を行い、管理画面側でより設定しやすく、閲覧画面側ではよりよい表現に修正したものとなります。


設定項目が非常に多いこと、会員制サイトでは確実に設定を行う必要があることから、日本語化しないと理解できない事柄があると思いますので、翻訳ファイルの適用をおすすめします。

【Ultimate Member】プラグインのインストールと設定

インストール方法

インストールはプラグインの新規追加でプラグイン名で検索してインストールするか、ページ先頭の画像をクリックして表示されるWordpressのプラグイン公式配布ページがダウンロードしてからアップロードインストールします。

インストール方法の詳しい解説は

を参照ください

パニックキーをまずは「お気に入り登録しよう」


ユーザー管理のキモともいえる権限の設定。項目は複雑でこの設定を失敗すると管理者もログインできない状態となってしまうことがあります。

そうなるとサイトをリセットするしか(データベースの内容も削除してWordpress自体を再インストールする必要も出てくる可能性がある)なくなることがありますので、権限の設定を行う前にランダムで生成されるパニックキーを含めたURLで一度アクセスし、「お気に入り」などに登録していざというときに備えるようにしましょう。

パニックキーを用いたURLは「http://サイトのURL/wp-admin/?um_panic_key=パニックキー」となります

パニックキーの情報はUltimate Memberの「設定」から「アクセス」をクリックして確認します。

このパニックキーはランダムに生成されますから、表示されたものをそのまま使用しても他の人から悪用されることはないと思われます。ただ完全ではありませんから、心配な方は何も設定を変更したりする前にこの値を変更して更新するようにしましょう。

完了したら「Ultimate Member」の「設定」にある【】で囲まれた項目について1つ1つ設定を行いましょう

【設定】

ここではUltimate Memberを使った会員制サイトで使う固定ページの設定をします

プラグインインストール時に自動で固定ページが作られますからそのままで大丈夫です。

カスタマイズする場合や特定の固定ページへフォームを表示する場合には構造を理解することが必要です

このプラグインは作成した各フォームをショートコードを使って固定ページへ表示するように設計されています

ダッシュボードの「Ultimate Member」から「フォームの設定」「メンバーディレクトリ」にそれぞれフォームがあります
フォームの設定では

  1. プロフィールページ
  2. メンバー登録フォーム
  3. ログインページ

が、メンバーディレクトリではメンバーの一覧を表示するフォームがそれぞれ管理されており、設定や追加・変更ができます

ここで設定したフォームをショートコードを使って固定ページへ挿入し、表示する仕組みになっています

  1. メンバーの一覧ページ/ultimatemember form_id=【メンバーディレクトリ】のページID]
  2. プロフィールページ/[ultimatemember form_id=【フォームの設定】中のページID]
  3. メンバー登録フォーム/[ultimatemember form_id=【フォームの設定】中のページID]
  4. ログインページ/[ultimatemember form_id=【フォームの設定】中のページID]

独自のフォームが作成できるようになっているわけですね。

また、IDの存在していないページが3つあり、

  1. ログアウト後のページ/ここにはショートコードは不要です。ログアウト後のページを作成します
  2. パスワード再発行用ページ/[ultimatemember_password]
  3. アカウント情報の変更ページ/[ultimatemember_account]

これらすべてを作成してこの画面で紐づけをしていきます。

ついでに【外観】からいろいろなフォームのデザイン設定ができますから自由に変更できます(これは動作が確認できてからやってもいいと思います)。

【ユーザー】

日本語化すれば内容は分かると思いますので任意で設定してください

1点だけ、最近ではWordpressで作成するサイトに対して、アーカイブ(過去記事一覧)で表示されるURLのスラグが標準では「ユーザー名」や「ユーザーID」であることから、これを元にログイン時のユーザー名として類推され、パスワードを解析されてサイトを乗っ取られるという事例が発生しています。

従って、「プロフィールのパーマリンク」項目では「ユーザー名」「ユーザーID」以外のものを選択することをおすすめします。

【アカウント編集画面】

アカウント編集画面へ表示する内容の制限などを行います。

  • 登録ユーザーが変更してもいい部分や変更してほしくない部分の設定(表示/非表示)
  • ユーザーの要求でパスワードの変更をするかしないかの設定
  • ユーザーによってアカウント削除をできるようにするかしないかの設定
  • などを行います。登録ユーザー自身のことなのですべての情報を開示してもいいかもしれませんが、万が一に備えて必要のない部分は表示しないようにしたり機能しないようにしたりすることが重要だと思います。

    【アクセス】

    WordPressを会員制サイト化すると普段はある程度保たれているセキュリティレベルが一気に低下します。特にユーザーの権限を「管理者」にしてしまった場合、ここで制限を行わなければバックエンドからログインされてなんでもできてしまうサイトが構築されてしまいます。

    会員制サイトではセキュリティが特に大事になりますから、ここの設定は確実に行いましょう
    項目としては

    1. バックエンドへのアクセスを制限
    2. ユーザー名として登録できない単語の登録
    3. アクセス拒否(許可)するIPアドレス
    4. アクセス拒否するメールアドレス

    などがあります。

    ただし、ここで自身を拒否してしまうこともできてしまいますから誤って設定してしまい、サイトに全くログインできない状態となることもあります。そんなときに活躍するのが前述した「パニックキー」です。

    この画面一番上にパニックキーがありますから、それを含めたURLで接続できることを確認し、ブラウザの「お気に入り」などに登録した上で慎重にセキュリティ設定を行うようにしてください。

    ※パニックキーすら不明な場合でもプラグインを削除しただけではバックエンドにアクセスできない可能性があります(未検証です)。そうなるとデータベース内での操作が必要となる(それによって回復できるかも未検証)ので、ここだけは本当に慎重かつ正確に設定しましょう。

    【ユーザーへのメール】

    ユーザーの登録やパスワードの変更、登録の解除、登録の抹消時に送信されるメールの内容を設定します。

    ユーザー登録時のアクションとしては

    1. ユーザー登録→仮登録メール送信→メール中のアクティベーションURLをクリック→本登録→本登録メール送信
    2. ユーザー登録→承認中メール送信→管理者の承認(否認)→承認(否認)メール送信

    のいずれかの流れになりますから、

    1. 1の場合は「登録確認メール」と「登録完了メール」をONにして設定
    2. 2の場合は「管理者による承認中メール」「アカウント承認済みメール」「アカウント登録否認メール」をONにして設定

    します。デフォルトですべてONになっていますから使用方法に合わせて変更しましょう

    また、{}で囲まれた項目はパラメーター値ですから。必要なものは削除しないようにしましょう
    もしもパラメーターを削除してしまったら・・・

  • {site_name}/サイト名
  • {display_name}/ユーザーの表示名
  • {account_activation_link}/アカウント登録を完了するためのURLリンク
  • {admin_email}/管理者のメールアドレス
  • {password_reset_link}/パスワードリセット用URLリンク
  • を適宜挿入してください

    また、その他のシーンでユーザー宛に送信するメールについては送信するかどうか、件名や本文の作成を行ってください(デフォルトのままだと英語のメールが送信されます)

    【管理者への通知】
    ユーザー登録時・削除(退会)時、ユーザー登録を管理者による承認にした場合に登録依頼が来た旨を伝えるメールなど、管理者へ送信するメールを設定します。

    【アップロード】【外観】【SEO】
    必要に応じて適宜設定を行ってください

    【詳細設定】
    他のプラグインとの競合による不具合や、テーマやサーバーとの相性による不具合が起きたときに様々な方法で対処することができます。

    動作確認とフォームの設定

    ここまで設定が済めば、あとは実際に閲覧画面でどういった動きをするかどうかの確認を行っていくだけです。

    フォームの内容と使い方は前述した通りですから、インストール時に作成された固定ページを使ってユーザー側からどのように見えるのか、どのようなボタンでどのように動作するのかなどをチェックしてください。

    新規登録フォーム、ユーザー情報(プロフィール)フォーム、ユーザー情報変更フォームについては

    1. デフォルトフォームを使ってオリジナルな項目を追加・削除する
    2. 新しく作り直して任意の固定ページへショートコードを挿入し、設定で各画面の割り当てを確認する

    の2通りがありますが、実際には

    1. デフォルトのフォームを変更
    2. 固定ページのタイトルを変更

    の方が簡単にできますから、まずはそのままの仕組みと流れに対してフォーム内容のみカスタマイズした方がいいと思います。

    配布させていただいている翻訳ファイルにはフォームの詳細項目についても日本語を割り当てていますが、適用されないようです。フォームに表示するフィールド(項目)にはいろいろな詳細設定がありますから、よく見て設定していきましょう。

    ・・・ここまで来れば会員制サイトができたも同然です。他の機能を持つプラグインとは全く違った動作ですから時間のある時にゆっくり解読されていくことをおすすめします。

    【Ultimate Member】プラグインの基本的な使い方

    設定を完全にすれば特に特別な使い方はありませんが、

    • 未登録の訪問者としてアクセスしたときの動作
    • 実際にこのプラグインの機能を使って登録・編集・プロフィール画面などの動作

    を確認しておくことをおすすめします

    設定をミスしてバックエンドへ入れなくなったら

    実体験でもありますが、設定を変更したら何をどうしてもバックエンド(管理画面)へ行けなくなってしまったという方、備忘録を兼ねて対処方法を紹介していますので参考にしてみてください(2017年3月31日公開)

    このプラグインの脆弱性に関する情報

    プラグインはWordpressで作ったサイトを簡単に充実させることができる魔法の追加機能ですが、それを狙って悪意のあるコードを挿入したり、情報を盗み取ったり、最悪の場合はサイトを壊す、乗っ取るといった行為を行う入り口になってしまう可能性があります(これを脆弱性といいます)。

    ここではこのプラグインに関して【WPScan脆弱性データベース】で脆弱性が確認されている情報を紹介します。お使いのプラグインのバージョンに該当する情報がある場合には、対策済みのバージョンへ更新する対策が取られていないようであれば別のプラグインの利用を検討するなどの対応をおすすめします。

    脆弱性情報一覧

    英語サイトからの取得データのため、一覧は英語表示、リンク先も英語ページとなりますので、英語が苦手という方は、同時翻訳が可能なブラウザを使用して閲覧してください
    よく出てくる脆弱性警告と簡単な解説・参考サイト
    ※個人的な理解や解釈ですので、より詳しい内容についてはご自身でお調べください

    Cross-Site Scripting (XSS)

    フロントエンドから入力などを行うことができるサイトで、フォームに悪質なコードを仕込み、さまざまな方法でログイン情報などを盗み取る行為。より詳しい情報は以下のサイトを見てください(英語サイトです)

    SQL Injection

    何かを入力して条件などを設定する機能に対して悪意を持って条件を入力することで改ざんを行ったり、情報を盗み取ったりされる可能性を示す警告のことです。

    • 2019.08.25 / Ultimate Member < 1.3.18 - XSS
    • 2019.08.24 / Ultimate Member < 1.3.40 - XSS
    • 2019.08.24 / Ultimate Member < 2.0.18 - XSS
    • 2019.08.24 / Ultimate Member <= 2.0 - Multiple XSS
    • 2019.08.23 / Ultimate Member < 2.0.28 - Multiple XSS

    WPScan脆弱性データベースの概要

    以下WPScanに掲載されている概要の引用文です。WPScanの詳細はこちらを参照ください。

    WPScanは、非営利目的の無料のブラックボックスWordPress脆弱性スキャナーであり、セキュリティの専門家やブログの管理者がサイトのセキュリティをテストするために作成されています。

    WPScan脆弱性データベースを使ったセキュリティスキャンプラグイン

    WPScanへの登録(無料)が必要ですが、現在サイトにインストールされているプラグインやテーマに関して他者から攻撃を受ける可能性があるか(安全なものかどうか)を管理画面からチェックできます。

    ひまあーと(管理人)
    • 記事の作者: ひまあーと(管理人)

    • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
      ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
      ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


    いつでもご相談・サイトカスタマイズの依頼を受け付けています

    Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

    ※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


    【スポンサーリンク】


    記事の拡散にご協力をお願いします

    閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

    関連情報