「BuddyPress」を「DW Question Answer」に連携
2016年5月12日
Categories | ブログ(WordPress) BuddyPress
ワードプレス プラグイン「BuddyPress」は、「DW Question Answer」と
連携させるとで、ユーザーの登録・管理がカスタマイズしやすそうだったので
インストールして見ました。
プラグイン BuddyPress (現バージョン 2.5.2 は、日本語化されている。)
インストールすると、追加されるものは、
● 固定ページに「タイトル名 Activity(タイムラインのようなページ)」と、「タイトル名 Members(メンバー一覧ページとアカウント登録者の各プロフィールページ)」というページが自動生成される。
● ダッシュボード>設定に「BuddyPress(各設定)」が追加
● ダッシュボードに「アクティビティ」・「メール」が追加
● ウェジェットに関連機能が追加
まず固定ページに追加された2ページをカスタマイズ。
スラッグ名はいじらず、タイトル名を判りやすく日本語に変更する。
- タイトル : メンバー スラッグ : members
- タイトル : アクティビティ スラッグ : activity
更に固定ページを2ページ追加作成する。
- タイトル : 登録 スラッグ : entry
- タイトル : 有効化 スラッグ : account
計4ページの固定ページを、BuddyPressと連携させる。
ダッシュボード > 設定 > BuddyPress > 固定ページ
実装に必要な設定は以上です。
AnsPressと連携させると、こんなことが可能になる。
● サイドバー(ウェジェット)に、ログイン・登録や登録メンバー等の紹介ができる。
● ユーザー登録(アカウント作成ページ)がが設置される。
BuddyPress メール
ツールバーのバブルやメールで最近のアクティビティをメンバーに通知し、メンバーが
通知設定をカスタマイズできるようにします。
ダッシュボード>メール>メール一覧 に、デフォルトでサンプルメールが16通作られている。
もしも削除してしまった場合、
DB > ツール > BuddyPressツール
修復ツール「Reinstall emails (delete and restore from defaults).」
にチェックを入れ、「項目を修復」をクリックすると、サンプルが新たに生成される。
カスタマイズ方法
サンプルの文章は全て英語なので、日本語に編集する。
ここでは良く使われる「アカウントの有効化」のメールを例に説明する。
ユーザー登録(アカウント作成)すると、アカウントを有効化するためのメールが配信
されるやつです。
DB > メール > メール一覧
編集をクリック。
編集例は、
「更新」をクリックすると保存される。
この要領で、よく使われそうなメールは変更しておく。
編集を終えたら、どうメールーが配信されるか?
試しに自分でユーザー登録してみる。
最後に、
「新規ユーザーのデフォルト権限グループ」を、どのレベルまで権限持たせるか?
が、悩む所だが、当サイトは手始めに「購読者」に設定する。
設定は、ダッシュボード > 設定 > 一般設定 > 新規ユーザーのデフォルト権限
ユーザーとしてログインし、ダッシュボードを開くと、
「アクティビティ」とか「WordPressニュース」が存在する。
こんなんはユーザーに見せても意味ないと思うので、
下記コードを「functions.php」に追記し、非表示に設定にした。
ファイル階層:/wp-content/themes/functions.php
//ダッシュボード ウィジェットを削除(管理者以外) function remove_dashboard_widget() { if ( ! current_user_can( 'administrator' ) ) { remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); // 概要 remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' ); // アクティビティ remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // クイックドラフト remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); // WordPressニュース } } add_action('wp_dashboard_setup', 'remove_dashboard_widget' );