Jak uzyskać link profilu użytkownika buddypress i określone pole profilu użytkownika dla bieżącego autora postu?

16

Chcę zastąpić get_author_link () i get_the_author_meta ($ feld)

z czymś równoważnym, aby wskazać autora bieżącej strony profilu użytkownika Buddypress i pobrać określone pole profilu ze strony Buddypress

tzn. chcę tylko pokazać link do profilu użytkownika postu i biografię z jednego z jego pól profilu BP

Nie jestem pewien, których funkcji powinienem użyć do tego ... Dokumentacja BuddyPress wciąż nie jest bardzo jasna w przeciwieństwie do WP Codex ...

dzięki

unfulvio
źródło

Odpowiedzi:

20

Aby uzyskać link do profilu autora, użyj

bp_core_get_user_domain( $user_id )

aby uzyskać adres URL i

bp_core_get_userlink( $user_id )

aby uzyskać element linku HTML, w tym wyświetlaną nazwę.

Dla danych xprofile użyj

xprofile_get_field_data( $field, $user_id )

$field może być nazwą pola (jak „Biografia”) lub identyfikatorem pola numerycznego.

Wąwozy Boone
źródło
3

To trochę inaczej, ale ponieważ ten wątek pojawia się jako pierwszy w Google, może być przydatny dla kogoś innego.

Aby uzyskać link do bieżącego profilu zalogowanego użytkownika, po prostu użyj bp_loggedin_user_domain()

Mam nadzieję, że to pomaga.

Buzut
źródło
2

Jeśli chcesz dodać to w komentarzach:

    <?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>';
    }
}
?>

Podałem przykładowe pole profilu „lokalizacja”, które można usunąć. Służy do wyświetlania linku do komentarza autora profilu Buddypress. Musi być umieszczony w pętli komentarzy, która będzie wyglądać mniej więcej tak:

foreach($comments as $comment)
Lorelei Carson
źródło