WordPress ID発行型会員限定サイトを作成する方法

WordPressで管理者側から発行したIDでログインすると閲覧できるようなサイトを作りたいと思って作成してみました。
参考のためにいろんなサイトを探していたのですが、記事の途中まで見れる系会員サイトの作り方は出て来ますが、サイト自体を会員サイトにするというのがなかなか見つからなかったので記事を書いてみようかと思いました。
使用したプラグインはSimple Membership だけです。
AI・Microsoft 365 活用を業務改善につなげたい企業向けに、研修・導入支援・活用サポートを行っています。
「どんなことを依頼できる?」「実際の活用事例は?」という方は、ぜひ無料資料をご覧ください。
\ 業務効率化・補助金情報をお届け/
\ 活用事例も掲載しています /
Simple Membershipの設定
(インストールについては割愛)
Simple Membershipの設定から説明していきます。
一般設定
インストールが完了したらまずは設定を行います。

設定から一般設定に入り 管理バーを表示・管理人に管理ツールバーを表示・WPダッシュボードへのアクセスを無効にする の3つにチェックを入れます。
それぞれ
管理バーを表示:チェックを入れるとワードプレスのツールバーを非表示にする
管理人に管理ツールバーを表示:会員レベルの設定で権限管理人のアカウントはツールバーを表示
WPダッシュボードへのアクセスを無効にする:サイト内のログインフォームからはワードプレスの管理画面にアクセスできないようにする

ページ設定の所は今回ログインページ以外必要ないので削除しました。
必要であればここに表示したい固定ページのURLを入れてください。

変更を保存したら次は会員レベルの設定です。
会員レベル
次に会員レベルの設定です。
開いたらレベルの追加タブに移動します。
ここには好きな名前と有効期限を設定して、「新規メンバーシップレベルの追加」ボタンを押して会員レベルを追加してください。

これでSimple Membershipの設定は完了です。
固定ページの設定
今回はログインページとログインした後に見せたいページのみなので、固定ページを二つ作ります。

2つ作成したらここからphpファイルを変更していきます。
ログインページ
新規にphpファイル「loginpage.php」を作成して下記のコードを記載します。
2~4行目は固定ページでテンプレートを選択できるようになります。
5行目ログインページとそれ以外でヘッダーを分けたかったのでheader-2.phpを呼び出すため
9行目でSimple Membershipプラグインのログインフォームを呼び出してます。
これでログインページは完了です。
その他ページ
こちらも同じように新規ファイルを作成して下記のようにコードを記載しました。
こちらはログインページ以外で使用するヘッダー「header.php」を指定してます。
ここまで出来たら固定ページの方に戻りそれぞれの固定ページに対応したテンプレートが選べるようになっているのでログインページであればテンプレート:loginpageを選択して更新します。

ヘッダーの設定
最後にヘッダーの設定をします。
現状のままだとログインページ以外も入れてしまいますので、ユーザーがログインしている時だけ入れるようにします。
ログインページ
ログインページ用のヘッダー今回の場合だとheader-2.phpの一番上に追加
ログインページに入ったときにログインしていればトップページにリダイレクトします。
その他ページ
header.phpの一番上に追加
その他のページに入った際ログイン出来ていないとログインページにリダイレクトします。
これで完成です!
会員限定サイトを作って情報を管理しよう
今回は、WordPressと「Simple Membership」を使って、管理者側で発行したID・パスワードでログインしたユーザーだけが閲覧できる会員限定サイトを作成する方法をご紹介しました。
会員ごとにログイン情報を発行することで、一般公開するページとは分けて、社内向けの情報や会員限定コンテンツなどを管理することができます。
会員限定サイトを作りたいけれど、どのような構成にすればよいか分からない場合は、今回の方法を参考にしてみてください。
AI・Microsoft 365 活用を業務改善につなげたい企業向けに、研修・導入支援・活用サポートを行っています。
「どんなことを依頼できる?」「実際の活用事例は?」という方は、ぜひ無料資料をご覧ください。
\ 業務効率化・補助金情報をお届け/
\ 活用事例も掲載しています /
ご質問やご相談などがございましたら、ぜひお気軽にお問い合わせください。
\2営業日以内にご返信! /

