WordPressに会員機能を追加



ホームページ運営に欠かせない機能として会員の管理機能があります。
会員制のブログにするわけではないのですが、今後非表示にしたいページ等出てくるかも知れないので簡単なLOGIN機能を追加することにしました。

今回は単一ユーザ(自分で作成したユーザ)での実装ができればと思います。
一応調べたらプラグインで簡単なもので一通りできそうなので

会員機能で今回実装できる機能

アクセス制限
全部の記事に対して
特定の記事だけ
記事の中の一部だけ読めなくする
ユーザの管理
ログインフォーム
ログアウト
新規ユーザ登録
パスワード変更・リセット
登録情報参照(Account管理)

プラグイン-WP-Members

このプラグインは上記機能を網羅しているプラグインです。
WordPressで使用しているユーザ管理機能をそのまま使用できます。
WP-Memberで追加したユーザはWordPressの購読者として追加されます。
逆に言うとWordPressで管理者が追加したユーザでもログインが可能になります。
インストールするだけで使えます。

WordPressのプラグインページからインストール

インストールしてWP-Membersの設定画面へ行くと警告が出ている場合があります。
基本警告に従ってWordPressの設定を変えたらよいのではと思います。

設定画面に行くと4つのタブがあります。詳細は割愛しますが主だった部分を紹介
ブロックされているページにログインしていない状態でアクセスすると、ログインページへ遷移します。

WP-Members オプション

content Block
Posts(投稿を全部ブロック)
Pages(固定ページを全部ブロック)
固定ページ
ログインページ(固定ページからLoginに使用するページを指定できる)
登録ページ(新規登録の固定ページを設定することでログインページに新規登録フォームが追加される)
ユーザプロフィールページ(ユーザプロフィールの固定ページを設定することでログインページにパスワード再設定リンク等が設定できる)
上記は自動的に処理される。指定しないで使うこともできます。

フィールド

新規登録画面やプロフィールに表示される項目です。
チェックボックスで表示するか、必須にするか等設定できます。
フィールドの追加から新しく項目も作れます。

ダイアログ

エラーメッセージ等を変更できます。最初みんな英語。

メール

自動送信されるメールの文章を変更できます。こちらも最初みんな英語。

WP-Membersの使い方

1.アクセス制限

全部の記事に対して

wp20160124a
上記画像の「Content Blocking」から行います。
「posts」は全投稿にアクセス制限をつけます。
「pages」は全固定ページにアクセス制限をつけます。

特定の記事だけ

wp20160124b
WP-Memberプラグインを使用していると右サイドに上記のようなメニューが追加されています。
画像は全部の記事に対してはアクセス制限が入っていない状態なので、チェックボックスにチェックをいれると、この投稿のみアクセス制限がかかります。

記事の中の一部だけ読めなくする

wp20160124c
よくニュースサイトとかでみるアクセス制限方法です。
この機能を使う準備として、ページへのアクセス制限に追加して「抜粋を表示」にチェックを入れてください。
WP-Masterプラグインを使用していると投稿作成のテキストタブ内に「more」というタグができています。
ページにアクセス制限がかかった状態で投稿内にこの「more」タグが埋まっているとmore以前の記事が抜粋として表示されます。
moreタグ以下を閲覧するためにはログインが必要になります。

2.ユーザ管理機能

各種ページの構成の仕方について説明します。
カスタマイズに関しては割愛。

Loginをウィジットとして登録

WordPress管理画面のウィジット設定の所に「WP-Members login」というウィジットが追加されているので設定したい場所に置く。

Loginを固定ページとして登録

wp20160124c
固定ページを作成して、中身に

というのを記述したら完成。

Account管理ページ(My Page)

wp20160124c
登録ユーザが、登録されている情報とパスワード等を管理できるページです。
固定ページを作成して、中身に

というのを記述したら完成。

新規登録ページ

wp20160124c
ユーザを新規に登録するページです。
固定ページを作成して、中身に

というのを記述したら完成。

ここまででWP-Membersの設定はできたと思います。
私は今回は新規ユーザ登録に関しては自分で用意した顧客用のユーザを作成し、訪問者が作れないようにしました。
なのでLoginとLogout機能のみです。
最後にログアウトですが、

ログインした後にログインページへアクセスするとログアウトのリンクが表示されています。
他の場所に設置したい場合は
そのリンクをコピーして設置しておけばOKです。

私のサイトだと

です。

プラグイン-if-menu

おまけです。
記事へのアクセス制限はこれで完成ですが、今回は秘密の固定ページを作成したいと思って会員機能を導入しました。
ログインしているユーザだけメニューを変更したいなと思ったら「if-menu」というプラグインがありました。
参考記事⇒http://netaone.com/wp/if-menu/

インストールはWordPressの管理画面のプラグインから検索してインストールしてください。

使い方

メニューの設定の場所は管理画面の外観の中にあります。
wp20160124d
if-menuを稼働させていると、「Enable Conditional Logic」という項目がメニュー設定に追加されています。
ここでこのメニューの表示・非表示をコントロールできます。

条件は英語ですが一応訳を上記参考URLから抜粋しておきます。

プルダウンの意味

Show
表示
Hide
非表示
User is logged in
ユーザーがログインしている場合
User is Admin
ユーザーが管理者の場合
User is Editor
ユーザーが編集者の場合
User is Subscriber
ユーザーが購読者の場合
User is Author
ユーザーが投稿者の場合
User is Contributor
ユーザーが寄稿者の場合
Front Page
トップページを表示している場合
Single Post
投稿のテンプレートを表示している場合
Page
固定ページのテンプレートを表示している場合

コメントをする