BuddyPressのメンバーのページを別ページで強制的に運用する
WordPressのSNSプラグイン、BuddyPressは非常に優秀だが、普通のSNSからすると少し奇妙な部分もある。
今回はSangoのテーマでBuddyPressでSNS化させる際に、BuddyPressの「メンバーページ」を使わず、その変わりにSangoの「Authorページ」を使う前提で話を進める。
やる事と条件、注意点など
・BuddyPressのメンバーページは使わない。
ダサすぎる。ので、↓↓↓ サンゴテーマの著者ページだけ使う。
・BuddyPressのメンバー機能はBuddyPressのコア部分なので、単純に無効化はできない。
・表向き、メンバーページには行けないようにする。直でURLを入力された場合はリダイレクト。
・ウィジェットのメンバーやログインからのリンクはAuthorに飛ぶように、URLのmemberの文字列をAuthorに置換する。
これとか
ここからのリンク先。
functions.php へ記述
まず、BuddyPressが入った状態で、管理画面の「固定ページ一覧」→「メンバー/member」のスラッグがmemberになっているか確認しておく。
memberじゃない場合は、下記のfunctions.phpへの記述コードの’member‘の部分と同じにしておくこと。
アクティベイトのプロセスでエラーが出ることが確認されているので、念のため日本語”メンバー”などは避けた方がいいと思う。
//Widgetの「メンバー」などのパーマリンク、”member”を”author”へ変更してURLを出力。固定ページのメンバースラッグをmemberにしておくこと
メンバーウィジェットだけでなく、ログインウィジェットのアバターのURLなども同じように置換してURLを出力させる。
//login widgetのアバターの”member”のURLを”author”へ置換。固定ページのメンバースラッグをmemberにしておくこと
これで、ウィジェットやアバターをクリックして飛ぶリンク先のBuddyPressのmemberページのURLは、全てSangoの著者ページであるauthorページに置き換えられる。
関連記事:
直接URLに xxx.com/member/user_IDと入力されてしまうと、memberページにいけてしまうので、ついでに .htaccess などで、URL自体をリダイレクトしておくと安心。
・メンバーなどWidget/ウィジェットのURLをリダイレクトさせる
関連記事の「Widget/ウィジェットなどのリンクのURLの文字列を、別の文字列に置換する方法」では、パーマリンク内の文字列の”member”を”author”に置換するので、ユーザーIDで”member”を使われないように設定しておく必要がある。
BuddyPress のメンバー登録時の、ユーザー名で使わせない禁止文字列を設定する