WordPressのいいところは最初からマルチユーザー(複数の会員)でサイトを管理することができ、権限を設けることで、ユーザーのできることが制限できることです。が、そうした運用でネックとなるのはあまりにもフロントエンド(閲覧画面)とバックエンド(管理画面)の様相が違うこと。もちろんいろいろ工夫すれば似せた形にはできるものの、そうすると自身が今どちらで作業しているのかがわからなくなってしまったり、思いもよらぬセキュリティの穴があってサイトを危険にさらすことになったりします。
できれば管理者だけがバックエンドで作業できるようにして、その他のユーザーはフロントエンドだけという環境にするのが会員制サイトを作る上で必要最低条件だと思います。
そして会員登録ができるというだけでなく、フォロー/フォロワー(お友達)を作ってユーザー同士でやり取りできるようにしたり、日記を投稿できるようにするというのも、会員制サイトでは必須の機能かと思います。
今回紹介する【ProfileGrid】はこれら会員制サイト構築時に「これができたらいいな」というものがいっぱい詰まったオールインワンプラグイン。複数のプラグインを使って苦労して構築している方もこれを使えば簡単に会員制サイトができると思います。
【ProfileGrid】プラグインの用途や機能
会員制サイト用のプラグインは紹介しきれないほどいろいろな機能が実装されていますので、必要部分のみかいつまんで紹介します。主な機能は
- フロントエンドからのユーザーの登録
- ユーザー用プロフィールの管理とフロントエンドからのカスタマイズ
- ユーザー同士でやり取りができる「お友達機能」
- フロントエンドからの投稿機能
特筆すべきは3と4の機能。3の機能について私が知る限りでは「Buddypress」のオプションでのみ実装できる機能だと思います。
また4については有名で高機能なものに
というプラグインがあり、ユーザー登録・管理系のプラグインと併用したり、有料版を使うことで可能となりますが、いずれにしても3の要件も必須機能かと思われますので、すべてが詰まった【ProfileGrid】は個人的に特におすすめのプラグインです。
この紹介記事を最後に編集したときの環境・バージョンなど
プラグインは製作者によって日々更新されていくため、この紹介記事が最新バージョンのものであるとは限りません。参考までにこの記事の最終更新日時点におけるテスト環境、プラグインバージョン、プラグイン導入時の留意点などを記載しておきます。
プラグインを使用(試用)したテスト環境
- テストサーバー:カラフルボックス
- WordPressのバージョン:5.4
- PHPのバージョン:7.3.11
- テーマ:HABONE(オリジナルテーマ)
- プラグインのバージョン:本記事で紹介しているバージョン4.0.0/最新バージョン 5.9.3.1
- 公式サイト(wordpress.org上):https://wordpress.org/plugins/profilegrid-user-profiles-groups-and-communities/
- 公式サイト(作者サイト):
本記事を参考にWordPressサイトへプラグインの導入を検討される方へ
WordPressは古くから無料で配布されているサイト作成ツール(CMS)で、随時改良が加えられており、さまざまなバージョンが存在します。
さらにWordPressを動かすためのプログラムであるPHP、サイトのデータを保存しておくためのデータベースについても様々なバージョンがあります。
そしてWordPress本体同様にプラグインについてもさまざまなバージョンが存在します。
本記事を参考にプラグインの導入をお考えの方は、以下に留意の上でインストールするようにしてください。
- テスト環境での動作に基づいた紹介記事ですので、すべての環境で正常に動作するかどうかは不明です
※本記事の内容についてはページ内に記載しているプラグインバージョンのものになります。現在のバージョンと異なる場合、機能や日本語対応の状況などが異なる場合があります。
※また、テスト環境、テストしたプラグインバージョン等の表示が本文内にない場合、ページタイトル下にある最終更新日当時の情報となりますので、現在のバージョンでは全く違う機能となっているかも知れません。 - プラグインに無料版と有料版(Pro版)がある場合、特に記載がなければ無料版の情報のみを紹介しています
- このページでプラグインを使用する際に必要なショートコードやコードなどは、コピーして使用することができますが、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。
- プラグイン本体の動作不具合や質問などは公式サイトのフォーラムなどで行ってください(ここでは質問にお答えすることはできません)
【ProfileGrid】プラグインの設定画面や表示の日本語化と翻訳
当サイトで私が翻訳した【ProfileGrid】プラグインの日本語化ファイルを提供しています。翻訳ファイルについての詳しい説明は以下のページをご覧ください。
※翻訳することで設定が容易になり、重要な項目の設定漏れも少なくなりますから日本語化をお勧めします。
※またこのプラグインはエラーメッセージなどフロントエンド側で表示される文章もすべて英語ですので、日本語化は必須でしょう。
【ProfileGrid】プラグインのインストールと設定
インストール方法
インストールはプラグインの新規追加でプラグイン名を入力して検索してインストールするか、WordPressのプラグイン公式配布ページからダウンロード後、管理画面からアップロードインストールしてください(プラグインの公式ページは本ページ内記載のリンクをクリック、もしくは、WordPress公式サイトで検索してください)。
WordPressを使い始めて間もない方(初心者の方)は、より詳細なプラグインのインストール手順や、インストール時に起こる問題などへの対処方法をまとめた【WordPress】プラグインのインストール&追加方法とエラー対処の方法も併せてご覧ください。
基本的な設定方法や使い方
設定項目がたくさんあり、かつ、フロントエンドからの操作に際していろいろなメッセージがあり、それらはすべて英語になっていますので、日本語化は必須になろうかと思います。
大まかな設定項目としては
- ユーザー登録の方法、項目、登録ページの指定
- ユーザーに対する操作制限や拒否設定
- プロフィールページの設定
- ユーザー・管理者へ送信するメール通知の設定
- ユーザーが投稿する環境の設定
になります。どのメンバーシッププラグインでも同じですが、きちんと設定することが非常に大切ですので、テストサイトなどで十分にテストする、公開前のサイトで構築して十分テストしてから公開するということをおすすめします。
以下、公式サイト上のスクリーンショットです
【ProfileGrid】プラグインの便利な使い方・カスタマイズ方法など
プロフィール画面の「名」「姓」を逆に表示する
会員制プラグインのプロフィール画面で表示される名前が名前-苗字になってしまうという問題は、何もこのプラグインに限ったことではありませんが、以下のコードをテーマのfunctions.phpへ追記することで修正できます。
/** ログイン時にユーザーの表示名を「名」「姓」にする **/
function make_display_name_f_name_last_name(){
$users = get_users(array('fields'=>'all'));
foreach($users as $user){
$user = get_userdata($user->ID);
$display_name = $user->first_name . " " . $user->last_name;
if($display_name!=' ')
wp_update_user( array ('ID' => $user->ID, 'display_name' => $display_name) );
else wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) );
if($user->display_name == '')
wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) );
}
}
add_action ('wp_login','make_display_name_f_name_last_name');
入力欄の幅を広げる
初期状態では入力欄が狭いので、以下のコードをCSSへ追記すると本文幅の90%まで拡張することができます。
.pmagic .pm-field-input {
width: 90%;
display: block;
}