ユーザー管理(会員制サイトなど)

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

・ユーザーのアクセス権を設定するもの

Allow Categories: カテゴリーごとにユーザーのアクセス権を設定
http://wordpress.org/extend/plugins/allow-categories/ *2.9.2 で動作
*設定漏れがあると管理者でもアクセスできなくなることがあるので、User Access Manager の方がお薦め

Bind user to category :ユーザーごとに投稿できるカテゴリーを限定するプラグイン
http://wordpress.org/extend/plugins/bind-user-to-cat/
Allow Categories で設定した場合、投稿時にカテゴリー欄に表示されるカテゴリーはアクセス可に設定したカテゴリーのみになりますが、カテゴリーをチェックせずに投稿するとデフォルト設定のカテゴリーに入ってしまいます。Bind user to category で設定するとチェック無しに投稿しても設定したカテゴリーに入ります。メール投稿でも有効です。 *2.9.2 で動作

admin-only-categories:管理者のみが投稿するカテゴリーを設定
http://wordpress.org/extend/plugins/admin-only-category/
投稿ユーザーが投稿出来るカテゴリーを限定したいとき、逆に管理者のみが管理するカテゴリーを設定する。

User Access Manager:ユーザーグループを作成してグループ毎にアクセス権(閲覧・投稿)を設定
http://wordpress.org/extend/plugins/user-access-manager/
投稿ユーザーの投稿するカテゴリーをグループ毎に制限する場合、User Role Editor でauthor1、author2 などを作成し、ユーザーレベルでアクセス権を設定すると管理が楽かと思う。
*使い方:設定ページでユーザーグループを作成し、カテゴリー・ページの設定欄でチェックを入れてアクセス可否を設定する。何もチェックを入れなければ誰でもアクセス可。

・ユーザーの権限を設定するもの
User Role Editor:ユーザーの権限を変更できるプラグイン
http://wordpress.org/extend/plugins/user-role-editor/
管理者以外のユーザーの権限を変更、追加できる。
*Magic Fields のライトパネルへのアクセス権も設定可

・会員制サイトの制作
Private Only:サイト全体をログインユーザーのみに公開とする
http://wordpress.org/extend/plugins/private-only/
プラグインファイルの「Only registered and logged in users are allowed to view this site. Please login now」の部分を書き換えて、メンテナンス時に一時的に非公開にするという使い方も。

Absolute Privacy:特定のページ以外は一般に非公開とする
http://wordpress.org/extend/plugins/absolute-privacy/
公開するページは複数設定可。このプラグインを有効化すると、ユーザー登録は認証制になる。登録者へのメール内容なども管理画面で編集できる。

Private Suite:特定のカテゴリーを一般に非公開とする
http://wordpress.org/extend/plugins/private-suite/
設定したカテゴリーの新規投稿を「非公開」にする(すでにある投稿はそのまま)事で、ログインユーザーのみが閲覧可となる。
タイトルの前につく「非公開:」を変更・削除したい場合はwp-include/post-template を編集。

New User Approve:ユーザー登録を承認制にする
http://wordpress.org/extend/plugins/new-user-approve/
登録者のリストで承認・拒否を選択すると登録者にメール送信される。メールの内容を変更したい場合はプラグインファイルを編集。

Cimy User Extra Fields:ユーザー登録時のフォームに項目を追加
http://wordpress.org/extend/plugins/cimy-user-extra-fields/

2012.2.27追記
WP-Members:トップページやアーカイブはmore タグまでを表示し、個別ページはメンバーのみ。サイト内のページからの登録、登録項目の追加、メンバーページの作成なども。
http://wordpress.org/extend/plugins/wp-members/
会員制サイトの制作にはフロントエンドユーザー管理プラグインを使っているが、このプラグインでかなり近いところまで出来そうな気がする。*登録時のメッセージやメールも管理画面で編集できる。
2012.8.22追記 オプション設定はこんな感じ
Cut2013_0822_0311_14
http://rocketgeek.com/plugins/wp-members/users-guide/ 参照

2013.3.20追記
Advanced Access Manager:アクセス制限、ユーザー権限の追加・編集ができるプラグイン。
カテゴリーや投稿タイプでアクセス制限を付けたい場合に便利そう。
右側のCurrent Role・Current User を変更し、左側のパネルでアクセスさせたくない投稿タイプ・カテゴリーにチェック、Apply → Save。Frontend・Backend 2つのチェック項目があるので、閲覧・投稿の制限が可能らしい。
ユーザー権限を追加することでユーザーをグループ分けしてアクセス制限を付けることも出来そう。
*設定ページはかなりわかりにくい

2013.4.26追記
例えば、投稿者は特定の投稿タイプのみに投稿可としたい場合はAdmin Menu Editor でアクセス制限を付け、アドミンバーから「新規投稿」を消せばOK。
Admin Menu Editor でのアクセス制限は、Roles ではなくCapabilities で。

2013.9.11追記 まとめ的に
会員制サイトで「会員登録・会員情報のページを作る」「登録時の項目を追加する」には有料でOKならフロントエンドユーザー管理プラグイン、無料ならWP-Members、管理者がユーザー登録してユーザーがプロフィールを作成という流れなら、Advanced Custom Fields でプロフィールを拡張するのが楽。
特定のカテゴリーを会員用にする場合はUser Access Manager を併用するか、テンプレート上で分岐するか。その場合、フィードの配信は抜粋のみにしておくこと。

その他の会員制・ユーザーに関する記事一覧


メモ:ログインユーザーのコメントのみ自動承認

function filter_handler( $approved , $commentdata ){  
if ( !is_user_logged_in() ) { 
return $approved; 
} 
} 
add_filter( 'pre_comment_approved' , 'filter_handler' , '99', 2 ); 

2021.7追記
ここ2年位、会員制サイトの作成にはWP-Members を使用しています。登録時の項目の追加からプロフィール編集ページ、アクセス制限まで、これ1つでできるので。
ACFでプロフィールを拡張したい場合は、Theme My Login なら自動で追加分を表示してくれますが、プロフィール編集など一部機能がアドオンになったので。

その他のユーザー関連記事一覧