Buddypressをカスタマイズするプラグインやテンプレートタグの一覧
BuddypressはWordPressサイトにmixiやFacebookのようなSNSが構築できる便利な無料プラグインです。
前回はBuddypressの基本的な設定方法や使い方を解説しました。今回は更に踏み込んで、テンプレートタグの使い方や関連プラグインの紹介をします。
Buddypressをカスタマイズすれば、更に自由度が広がり多くの機能が装備できます。
Buddypressは通常の標準的な使用でも高機能ですが、カスタマイズすれば更に便利になるので試してみてください。
この記事を作成するにあたり、以下のサイトも参考にさせていただきました。
BuddyPressの導入と使い方:アクロマニアさん
テンプレートタグ
ログインユーザー名の表示
1 |
<?php global $user_identity; echo $user_identity; ?> |
ログイン中のユーザーの名前が表示されます。
マイページへのリンク
1 |
<?php echo bp_loggedin_user_domain(); ?> |
1 |
<?php echo bp_core_get_userlink( bp_loggedin_user_id() ); ?> |
1 |
<?php echo bp_get_loggedin_user_link(); ?> |
マイページへのURLを出力できます。使用方法としては<a href="<?php echo bp_loggedin_user_domain(); ?>">のように使用します。
表示中のユーザー名
1 |
<?php echo bp_displayed_user_fullname(); ?> |
画面に表示中のユーザーの名前を表示します。
表示中のユーザーへのリンク
1 |
<?php echo bp_displayed_user_link(); ?> |
表示中のユーザーへのURLを出力できます。使用方法としては<a href="<?php echo bp_displayed_user_link(); ?>のように使用します。
表示中のユーザーの活動状況を表示
1 |
<?php echo bp_last_activity( bp_displayed_user_id() ) ?> |
表示中のユーザーが活動中であればアクティブを表示します。活動していなければ、どれくらい前に活動したか「何時間前」と表示されます。
アバター画像の表示
1 |
<?php bp_displayed_user_avatar(); ?> |
アバター画像を表示します。アバターとはプロフィール写真のことです。bp_displayed_user_avatar( ‘type=full’ )にすると最大サイズで表示されます。
ログインユーザー本人のアバター画像
1 |
<?php bp_loggedin_user_avatar(); ?> |
ログインユーザー本人のアバター画像を表示します。()内は( ‘type=thumb&width=100&height=100’ )や( ‘type=full’ )のように記述するとアバター画像のサイズを変更できます。
ユーザー検索
1 |
<?php bp_directory_members_search_form() ?> |
ユーザーを検索できるボックスを表示します。
キーワード検索
1 2 3 4 5 |
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>/"> <input type="text" value="<?php the_search_query(); ?>" name="s" id="s" /> <input type="submit" id="searchsubmit" value="<?php _e( 'Search', 'buddypress' ) ?>" /> <?php do_action( 'bp_blog_search_form' ) ?> </form> |
記事やコメントなどを検索したいときに使用する検索ボックスです。ユーザーは検索できません。
ログインボックスの表示
1 2 3 4 5 6 7 8 |
<form name="login-form" action="<?php echo site_url( 'wp-login.php', 'login_post' ) ?>" method="post"> <label>ユーザー名<input type="text" name="log" value="<?php if ( isset( $user_login) ) echo esc_attr(stripslashes($user_login)); ?>" tabindex="97" /></label> <label>パスワード<input type="password" name="pwd" value="" tabindex="98" /></label> <label><input name="rememberme" type="checkbox" value="forever" tabindex="99" />ログイン状態を保存する</label> <?php do_action( 'bp_sidebar_login_form' ) ?> <input type="submit" name="wp-submit" value="ログイン" tabindex="100" /> <input type="hidden" name="testcookie" value="1" /> </form> |
ログインに必要なボックスを表示します。
ログアウトの表示
1 |
<a href="<?php echo wp_logout_url( bp_get_root_domain() ) ?>">ログアウト</a> |
ログアウトを表示します。
ログインの判別
1 2 3 4 5 |
<?php if ( is_user_logged_in() ) : ?> ログイン中であれば表示 <?php else : ?> ログアウト中であれば表示 <?php endif; ?> |
ログインを状況を判別できるので、ログイン中に表示する内容とログアウト中に表示する内容とを分けることができます。
ログインの判別 + 自分のマイページで表示
1 2 3 4 5 6 7 |
<?php if ( is_user_logged_in() && bp_is_my_profile() ) : ?> ログイン中で自分のマイページで表示する内容 <?php elseif ( is_user_logged_in() && !bp_is_my_profile() ) : ?> ログイン中で他のページで表示する内容 <?php else : ?> ログアウト中であれば表示 <?php endif; ?> |
ログインを状況を判別して、ログイン中+自分のマイページで表示する内容やログイン中+自分のマイページ以外で表示する内容、ログアウト中に表示する内容を分けることができます。
会員登録ができる場合に表示
1 2 3 |
<?php if ( bp_get_signup_allowed() ) : ?> 表示する内容 <?php endif; ?> |
会員登録ができる場合に表示する内容です。例えば、会員登録リンクなどを表示する使い方ができます。
必須項目
1 |
<?php _e( '(required)', 'buddypress' ) ?> |
必須項目を設定します。
コメント許可時に表示
1 2 3 |
<?php if ( comments_open() ) : ?> 表示する内容 <?php endif; ?> |
コメントが許可去れている場合に表示する内容です。
ナビゲーションの表示
1 |
<?php bp_get_loggedin_user_nav(); ?> |
Buddypressのナビゲーションを表示します。項目にログアウトが含まれるため、主にマイページのプロフィールで表示します。全体のhtmlは<li>で表示されるので、別途自分で<ul>を記述する必要があります。
ナビゲーションの表示
1 |
<?php bp_get_displayed_user_nav(); ?> |
Buddypressのナビゲーションを表示します。項目にログアウトを含まないため、主に他のユーザーページのプロフィールで表示します。
これ以外にもテンプレートタグは沢山あります。以下のページを参考にしてください。
プラグイン
Buddypressに使えるお勧めのプラグインをまとめてみました。
Buddypress Activity Plus
Buddypressプレスにはアクティビティー(タイムライン)があります。SNSでいえばつぶやきのようなシステムです。
通常はテキストしか入力できませんが、画像や動画、リンクをプラスできるようになります。
但し、ユーザーによっては高解像度の画像を頻繁にアップロードする方もいます。サーバーの使用容量が大きくなるので注意してください。他にもアダルト画像をアップロードされる方もいるので管理体制が必要になってきます。
rtMedia for WordPress, Buddypress and bbpress
「Buddypress Activity Plus」と同じように、画像や動画、リンク、音声をプラスできます。更に細かいカスタマイズ設定が可能です。
Buddypress Automatic Friends
アカウントに新規登録したユーザーが自動的にフレンドになるプラグインです。
注意点としては親しい人同士のSNSであれば問題ありませんが、不特定多数の人が参加するSNSであれば警戒されることもあります。
使い所を考えて使用したいプラグインです。
Buddypress Auto Group Join
アカウントに新規登録したユーザーが自動的に特定のグループに参加することができるプラグインです。
Buddypress Avatar Bubble
登録ユーザーのアバター画像にマウスカーソルを合わせると、フレンド申請やメッセージ、プロフィール表示ができるようになります。
便利なプラグインですが、ユーザーのプロフィールページを開いた方が早いですし、余り必要ではないと思います。
Buddypress Edit Activity Stream
アクティビティーページではつぶやくことができますが、一度つぶやいた内容は編集することができません。
このプラグインを使用すると後からも編集することができます。
Buddypress Friend of a Friend
プロフィールやサイドバーに、フレンドになっていない関連性のあるユーザーが表示されます。
例えば、フレンドのフレンドなどが該当します。
Twitterにある「知り合いではないですか?」のようなシステムです。
Buddypress Message Attachment
ユーザー同士がメッセージを送るときに画像を添付できるようになります。
テキストだけでなく画像でやり取りできるととても便利です。
Email Users
サイト管理者が登録ユーザー全員に一括でメール送信ができるようになります。
お知らせやメルマガ、イベントなどを全員に知らせることができます。
なお、特定のグループや複数のユーザーを決めてメール送信することも可能です。
RS Buddypress Activity Refresh
アクティビティーページを自動的更新させるプラグインです。
Twitterのようにつぶやきがリアルタイムに更新されます。
更新間隔を秒単位で設定することも可能です。
アクティビティーページを観覧するユーザーが多いのであれば、リアルタイムに情報が更新されると便利です。但し、サーバーへの負担もあるので、必要な場合は設定すると良いと思います。
WangGuard
スパムユーザーのアカウント登録やコメント投稿をブロックするセキュリティプラグインです。
運営機関のWangGuardでスパム登録されている該当者をブロックします。また、サイト管理者が個別にIPアドレスやメールアドレスからアクセスブロックする機能もあります。
Welcome Pack
ユーザーがアカウントを登録すると「サンキューページ」にリダイレクトします。また、個別ページにリダイレクトすることもできます。使用例として、利用規約ページを作成しておけば、そのページにリダイレクトすることもできます。
Yoast SEO
Buddypressやbbpress専用のSEOプラグインです。
Buddypressやbbpressで作成される固定ページ(アクティビティーページやメンバーページ、グループページ、フォーラム、トピック、リプライページ)にメタ情報を出力できます。
Event Manager
Buddypressにユーザーやグループ毎のイベントを作成できます。
Social Login
SNSのアカウントを使用してユーザー登録やログインができます。
対応している主なサービスに「Facebook」「Google」「Twitter」「はてなブックマーク」「Yahoo!」「Linkedin」「OpenID」「Hyves」「LIVEJOURNAL」があります。
Rating-Widget: Star Rating System
アクティビティーページやプロフィール、様々なページにレーティング式の評価を設置できます。
Invite Anyone
登録ユーザーが知り合いなどにBuddypressサイトへの招待メールを送信できる機能です。
WP Email Login
Buddypressのログイン方法はユーザー名を使用します。このプラグインを使用するとE-mailでログインできるようになります。
Peter’s Login Redirect
ユーザーがログインやログアウトすると同時に特定のページへリダイレクトしてくれます。
EWWW Image Optimizer
ユーザーがアップロードした画像を最適化してくれるプラグインです。
大きいサイズの画像や容量の大きい画像を最適化してくれて安心です。
BP Edit Group Slug
グループ作成時にスラッグ(URL)「スラッグ変更する」の項目を作成します。
グループのスラッグは日本語のため、場合によってはとてつもなく長いスラッグになり不便です。このプラグインがあれば、ユーザー自身がグループを作成する際にスラッグが編集できるようになります。
WordPress Access Control
各投稿やページの閲覧をログインユーザー限定にできるプラグインです。
Members Only
WEBサイト全体の閲覧をログインユーザー限定にできるプラグインです。
WP-Members
投稿記事ページと固定ページのみログインユーザー限定にできる。アーカイブページやトップページなどはアクセス制限の対象外です。更に、会員の新規登録や会員情報の表示機能があります。
Theme My Login
会員制サイト用のログインページ、新規会員登録ページ、パスワード再送信ページを作成できます。
Gianism
Facebook、Twitter、Google、Instagramのアカウントを使用して、ログインや登録を可能にします。
Never Let Me Go
会員制サイトのユーザー退会機能を装備します。
User Role Editor
ユーザー権限を細かく変更できます。
Members
権限グループを追加・編集できる。記事毎に表示可能な権限グループを設定できる。
Adminimize
ユーザー権限を細かく設定できます。管理画面のメニュー表示を権限グループごとに設定できる。
Simple Membership
会員登録ができるシステムを設置できます。新規ユーザー登録、ログインフォーム、記事やページの観覧を有効期限付きにしたり限定公開にしたり、登録情報(プロフィール編集やパスワード変更)をユーザーができる。管理ページから手動でユーザー追加も可能です。また、PayPalとも連携できます。
Cube Points
ポイントを付与したり、管理することができます。投稿とコメントにポイントが付けられるのでサイトの活性化になるかもしれません。
Display Widgets
ウィジェットの表示・非表示をアクセス制限できます。ログインユーザーにのみ表示することが可能です。
Nav Menu Roles
ナビゲーションメニューをログインユーザーと非ログインユーザー毎に表示・非表示を設定できる。
Allow Categories
特定カテゴリーを会員限定で表示できるようにする。
Private Suite
特定のカテゴリーを会員限定で表示できるようにする。
Bind user to category
特定のユーザー毎に投稿できるカテゴリーを限定するように設定できます。
admin-only-categories
管理者のみが投稿できるカテゴリーを設定します。
User Access Manager
ユーザーグループを作成してグループ毎に投稿記事、固定ページ、ファイルへのアクセス権を管理できます。
Absolute Privacy
特定のページ以外はログインユーザーでない場合は非公開にできます。
Advanced Access Manager
登録ユーザー単位でアクセスを制限できます。また、ユーザー権限の追加や編集ができます。
Role Manager
登録ユーザーに権限を付与して複数人でブログを編集できる。
Expire User Passwords
登録ユーザーに30日ごとにパスワードを変更させます。
BuddyPress Docs
Buddypress内に登録ユーザーが読んだり編集したりできる記事を作成します。簡単に説明するとWikipediaのような皆で編集する記事が作成できます。
全てのプラグインを導入する必要はありません。プラグインが多いとサイトも重くなるので、必要に応じて使用してください。