BuddyPressをカスタマイズ


BuddyPressプロフィール一覧上部に、カスタム文章を表示する。さらに、表示・編集で切り替える。


add_action('bp_before_profile_field_content', 'account_details_display_howto' ); // 登録画面文章表示
add_action('bp_before_account_details_fields', 'account_details_display_howto' ); // 登録画面文章表示
// 新規アカウント登録時のタイトル設定
function zam_before_register_page() {
echo "<h2>" . get_the_title(6) . "</h2>";
return "";
}

登録メンバー一覧のサムネイルや、掲載情報を修正する場合は

/home/ippin-dou/www/test/wp-content/plugins/buddypress/bp-templates/bp-legacy/buddypress/members/members-loop.php を直接修正するか、add_action(bp_directory_members_item, functionxxxx) を追加すればよい。

プロフィールの一覧上部に任意の文章を追記する

Buddypressでプロフィール表示画面の、一覧表となる上部にBuddyPressのプロフィール拡張プラグイン『Buddypress xProfile Rich Text Field』で追加・追記した文章を表示させます。
以下のコードでは、プロフィール項目A,B,Cの項目を表示させる処理です。add_action() でアクションフックに登録し、プロフィール情報をecho させるのみです。

$count_loop = FALSE; // 同一画面で複数回CallBackされたカウント
add_action( 'bp_before_profile_field_content', 'bp_before_profile_func');
function bp_before_profile_func(){
    global $count_loop;
    global $bp;
    
    // 初回のみ表示させる
    if($count_loop) return ;
    else $count_loop = TRUE;
    // echo bp_displayed_user_id();
    $profile_title="タイトル";
    $corp_name = xprofile_get_field_data('[プロフィール項目A]', bp_displayed_user_id());  
    $corp_picture = xprofile_get_field_data('プロフィール項目B', bp_displayed_user_id());  
    $catchecopy = xprofile_get_field_data('プロフィール項目C', bp_displayed_user_id());  
    if($catchecopy != "")  $profile_title = $catchecopy;

    $profile_descript= xprofile_get_field_data('プロフィール項目D' ,bp_get_member_user_id());
    $profile_text = nl2br($profile_descript);
    echo <<<_PROFILE_INF_
	<h2>{$corp_name}</h2>
	{$corp_picture}
        <strong id="bf_profile_title">{$profile_title}</strong>
        <p id="bf_profile_desc">{$profile_text}</p>
_PROFILE_INF_;
}