Come ottenere un link profilo utente buddypress e un determinato campo profilo utente per l'autore del post corrente?


16

Voglio sostituire get_author_link () e get_the_author_meta ($ feld)

con qualcosa di equivalente per puntare all'autore dell'attuale pagina del profilo utente Buddypress post e recuperare un campo profilo specifico dalla sua pagina Buddypress

cioè, voglio solo mostrare un link al profilo utente post e una biografia da uno dei suoi campi del profilo BP

Non sono sicuro di quali funzioni dovrei usare per questo ... La documentazione di BuddyPress non è ancora molto chiara a differenza del WP Codex ...

Grazie

Risposte:


20

Per il collegamento al profilo di un autore, utilizzare

bp_core_get_user_domain( $user_id )

per ottenere l'URL e

bp_core_get_userlink( $user_id )

per ottenere un elemento di collegamento HTML, incluso il nome visualizzato.

Per i dati xprofile, utilizzare

xprofile_get_field_data( $field, $user_id )

$field può essere il nome del campo (come "Biografia") o l'id del campo numerico.


3

È un po 'diverso, ma poiché questa discussione appare prima su Google, potrebbe essere utile per qualcun altro.

Per ottenere il collegamento al profilo utente attualmente connesso, basta usare bp_loggedin_user_domain()

Spero possa aiutare.


2

Se è necessario aggiungerlo nei commenti:

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

Ho incluso un campo del profilo di esempio "posizione", che può essere rimosso. Questo serve per visualizzare un link per commentare il profilo Buddypress dell'autore. Deve essere inserito nel tuo ciclo di commenti, che assomiglierà a:

foreach($comments as $comment)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.