Como obter um link de perfil de usuário buddypress e um campo de perfil de usuário específico para o autor da postagem atual?

12

Eu quero substituir get_author_link () e get_the_author_meta ($ feld)

com algo equivalente a apontar para o autor da atual página de perfil de usuário do Buddypress e recuperar um campo de perfil específico de sua página do Buddypress

ou seja, eu só quero mostrar um link para o perfil do usuário post e uma biografia de um dos seus campos de perfil BP

Não sei quais funções devo usar para isso ... A documentação do BuddyPress ainda não está muito clara, ao contrário do WP Codex ...

obrigado

    
por unfulvio 26.02.2012 / 04:45

3 respostas

17

Para o link do perfil de um autor, use

bp_core_get_user_domain( $user_id )

para obter o URL e

bp_core_get_userlink( $user_id )

para obter um elemento de link HTML, incluindo o nome de exibição.

Para os dados do xprofile, use

xprofile_get_field_data( $field, $user_id )

$field pode ser o nome do campo (como "Biografia") ou o campo numérico id.

    
por Boone Gorges 12.03.2012 / 23:36
1

Se você precisar adicioná-lo nos comentários:

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

Eu incluí um campo de perfil de amostra 'location', que pode ser removido. Isso é para exibir um link para comentar o perfil Buddypress do autor. Deve ser colocado dentro do seu loop de comentários, que será algo como:

foreach($comments as $comment)
    
por Lorelei Carson 15.10.2013 / 18:33
1

É um pouco diferente, mas como esse tópico aparece primeiro no Google, pode ser útil para outra pessoa.

Para obter o link atual do perfil de usuário logado, use apenas bp_loggedin_user_domain()

Espero que ajude.

    
por Buzut 30.07.2015 / 17:04