如何在BuddyPress函数输出中限制字符长度

时间:2011-12-11 作者:Christopher

BuddyPress有一个函数(bp\\u member\\u profile\\u data),将配置文件数据拉入members循环,如下所示:

<?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\' );   */
 ?>
我想知道如何限制传记的篇幅。我已经看过了Bavatosan示例和substr,但就知道在哪里修改它们而言,它们有点超出了我的能力。

1 个回复
最合适的回答,由SO网友:onetrickpony 整理而成

我认为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

结束