会員制・アクセス制限

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

ワードプレスでユーザー登録・マイページのあるサイト、アクセス制限のあるサイトを構築するのに必要なことをまとめます。
数年前にユーザー登録するとおすすめや履歴を表示する求人サイトを構築したことがありますが、それが最も多く関数を書いたサイトだったかもしれません。

会員制とアクセス制限のプラグイン
ユーザー登録関連のプラグインは登録ページとログインページ周りのみのもの、登録の項目の追加ができるもの、アクセス制限の設定もついているもの、など様々なので、ニーズに合ったものを選ぶ必要があります。
ユーザーの登録項目はAdvanced Custom Fieldsなどのカスタムフィールドプラグインでも追加可能ですが、登録画面に反映されるかどうかの確認が必要です。

ログイン時と非ログイン時で表示を分けるだけなら、テーマ上で分岐するだけでOKですが、カテゴリー・タームによってアクセスを制限する場合、投稿ユーザーが投稿できるカテゴリー・タームを制限する場合はアクセス制限プラグインが必要です。User Access Manager など。
また、カスタム投稿タイプを含めて投稿・編集の権限を設定する必要がある場合は権限設定プラグインが必要になります。User Role Editor など。

マイページ
マイページにユーザー情報を表示するためにマイページ用テーマが必要です。*$current_user = wp_get_current_user();
他にマイページによく掲載するものは「お気に入り」と「閲覧履歴」。
お気に入りはFavorites、閲覧履歴はLast Viewed Posts。
Favorites $favorites = get_user_favorites();~でテーマに表示設定、Last Viewed Posts はテーマ関数で表示内容の設定が必要。

また、会員制プラグインには通常、退会機能はないので、必要な場合は別途プラグインを入れます。Delete Me など。

その他
ユーザーが登録した情報に合わせて「おすすめ」などを表示する場合は「おすすめ」用のテーマファイルが必要です。

メールフォームにユーザー情報を反映させるにはMW Form ではテーマ関数を作成していましたが、Contact Form 7 ではDynamic Text Extension を利用することもできます。例:”CF7_get_current_user key=’user_firstname'”