¿Cómo obtener el enlace del perfil de usuario de BuddyPress y un campo específico del perfil para el autor de la publicación actual?

26 feb 2012, 05:45:15
Vistas: 35.9K
Votos: 19

Quiero reemplazar get_author_link() y get_the_author_meta($field)

con algo equivalente que apunte a la página de perfil de usuario de BuddyPress del autor de la publicación actual y recuperar un campo específico del perfil de su página de BuddyPress

Es decir, solo quiero mostrar un enlace al perfil de usuario del autor de la publicación y una biografía de uno de sus campos de perfil de BP

No estoy seguro de qué funciones debería usar para esto... La documentación de BuddyPress todavía no es muy clara a diferencia del Codex de WP...

gracias

0
Todas las respuestas a la pregunta 3
0
24

Para el enlace del perfil de un autor, utiliza

bp_core_get_user_domain( $user_id )

para obtener la URL, y

bp_core_get_userlink( $user_id )

para obtener un elemento HTML de enlace, incluyendo el nombre para mostrar.

Para los datos de xprofile, utiliza

xprofile_get_field_data( $field, $user_id )

$field puede ser tanto el nombre del campo (como 'Biografía') como el ID numérico del campo.

13 mar 2012 00:36:28
0

Es un poco diferente, pero como este hilo aparece primero en Google, podría ser útil para alguien más.

Para obtener el enlace del perfil del usuario actualmente conectado, simplemente usa bp_loggedin_user_domain()

Espero que ayude.

30 jul 2015 18:04:56
0

Si necesitas agregarlo en los comentarios:

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

Incluí un campo de perfil de ejemplo 'location' (ubicación), que puede ser eliminado. Esto es para mostrar un enlace al perfil de Buddypress del autor del comentario. Debe colocarse dentro de tu bucle de comentarios, que se verá algo así como:

foreach($comments as $comment)
15 oct 2013 19:33:46