web-dev-qa-db-fra.com

Comment limiter la longueur des caractères dans la sortie de la fonction BuddyPress

BuddyPress a une fonction (bp_member_profile_data) qui extrait les données de profil dans une boucle de membres qui ressemble à ceci:

<?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' );   */
 ?>

Je me demande comment limiter la longueur évoquée de Brief Biography. J'ai examiné l'exemple et le sous-programme Bavatosan, mais ils ne me permettent pas encore de savoir où les modifier.

1
Christopher

Je pense que buddypress a une version get * de cette fonction qui renvoie la valeur au lieu de l'afficher à l'écran.

Il suffit donc de couper la chaîne retournée après un certain nombre de caractères, comme 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;

S'il n'y a pas de fonction get, vous pouvez toujours utiliser la mise en mémoire tampon de sortie:

ob_start();
bp_member_profile_data( 'field=Brief Biography' );  
$profile_bio = ob_get_clean();

// rest of the code is the same
1
onetrickpony