Comment obtenir un lien de profil utilisateur buddypress et un certain champ de profil utilisateur pour l'auteur de la publication actuelle?

12

Je souhaite remplacer get_author_link () et get_the_author_meta ($ feld)

avec quelque chose d’équivalent qui pointe vers l’auteur de la page de profil utilisateur post Buddypress actuelle et récupère un champ de profil spécifique à partir de sa page Buddypress

C'est-à-dire que je souhaite simplement afficher un lien vers le profil de l'utilisateur du message et une biographie provenant de l'un de ses champs de profil BP

Je ne suis pas sûr des fonctions à utiliser pour cela ... La documentation de BuddyPress n'est toujours pas très claire, contrairement au codex WP ...

merci

    
posée unfulvio 26.02.2012 - 04:45

3 réponses

17

Pour le lien du profil de l'auteur, utilisez

bp_core_get_user_domain( $user_id )

pour obtenir l'URL, et

bp_core_get_userlink( $user_id )

pour obtenir un élément de lien HTML, y compris le nom d'affichage.

Pour les données xprofile, utilisez

xprofile_get_field_data( $field, $user_id )

$field peut être soit le nom du champ (comme "Biographie"), soit l'identifiant du champ numérique.

    
réponse donnée Boone Gorges 12.03.2012 - 23:36
1

Si vous devez l'ajouter dans les commentaires:

    <?php
$author_id = get_comment(get_comment_ID())->user_id;
if (function_exists('bp_get_profile_field_data')) {
    $bp_name = bp_core_get_userlink( $author_id );
    $bp_location = bp_get_profile_field_data('field=Location&user_id='.$author_id);
    if ($bp_name) {
    echo '<div>'. $bp_name . '</div>';
    }
    if ($bp_location) {
    echo '<div class="authorinfo">'. $bp_location . '</div>';
    }
}
?>

J'ai inclus un exemple de champ de profil, "emplacement", qui peut être supprimé. Ceci permet d'afficher un lien pour commenter le profil Buddypress de l'auteur. Il doit être placé dans votre boucle de commentaires, ce qui ressemblera à:

foreach($comments as $comment)
    
réponse donnée Lorelei Carson 15.10.2013 - 18:33
1

C'est un peu différent, mais puisque ce fil de discussion apparaît en premier sur Google, il pourrait être utile à quelqu'un d'autre.

Pour obtenir le lien de profil d'utilisateur actuellement connecté, utilisez simplement bp_loggedin_user_domain()

J'espère que ça aide.

    
réponse donnée Buzut 30.07.2015 - 17:04

Lire d'autres questions sur les étiquettes