BuddyPressには、プロフィールデータをメンバーループに引き込む関数(bp_member_profile_data)があります。
<?php
bp_member_profile_data( 'field=Organization' );
bp_member_profile_data( 'field=Brief Biography' );
/***
* If you want to show specific profile fields here you can,
* but it'll add an extra query for each member in the loop
* (only one regardless of the number of fields you show):
* bp_member_profile_data( 'field=the field name' ); */
?>
Brief Biographyのエコーの長さを制限する方法を考えています。私はBavatosanの例とsubstrを見ましたが、それらをどこで変更するべきかを知るという点では、この時点では私を超えています。
私は、buddypressがスクリーンに表示する代わりに値を返すその関数のget *バージョンを持っていると思います。
そのため、返される文字列を50のような一定量の文字の後で切り取るだけです。
$profile_bio = bp_get_member_profile_data( 'field=Brief Biography' );
if(strlen($profile_bio) > 50))
$profile_bio = substr($profile_bio, 0, 50).'...';
echo $profile_bio;
Get関数がない場合は、常に出力バッファリングを使用できます。
ob_start();
bp_member_profile_data( 'field=Brief Biography' );
$profile_bio = ob_get_clean();
// rest of the code is the same