BuddyPress : Personnaliser l’affichage des champs du profil avec le filtre bp_get_the_profile_field_value

Vous souhaitez personnaliser l'affichage d'un des champs de votre profil BuddyPress ? Dans cet exemple, l'utilisateur va entrer l'ID d'une vidéo YouTube et afin que le champ ne renvoi pas 2aEsr_2Cfp4 (par exemple), mais un embed de la vidéo correspondante, nous allons utiliser bp_get_the_profile_field_value pour modifier l'affichage de la valeur de votre champ.

Dans le fichier functions.php de votre thème :

function set_video_field($field_value) {
	$bp_this_field_name = bp_get_the_profile_field_name();
	// remplacer 'Vidéo' par le champ que vous souhaitez customiser
	if($bp_this_field_name=='Vidéo') {
		$field_value = strip_tags( $field_value );
		$field_value = '<iframe width="560" height="315" src="http://www.youtube.com/embed/'.$field_value.'" frameborder="0" allowfullscreen></iframe>';
	}
	return $field_value;
}
add_filter( 'bp_get_the_profile_field_value','set_video_field');

Bien sûr, à partir de là, vous pouvez un peu faire ce que vous voulez.

Par défaut, les champs sont encadrés de </p><p>, pour obtenir la donnée brut je me sert de cette ligne :

$field_value = strip_tags( $field_value );

En espérant vous avoir été utile !

Catégorie(s) : Tutoriel, Wordpress, Tagué dans , , , , , ,

Dernière mise à jour le 26 avril 2012