¿Cómo obtener un enlace de perfil de usuario de buddypress y un determinado campo de perfil de usuario para el autor de la publicación actual?


16

Quiero reemplazar get_author_link () y get_the_author_meta ($ feld)

con algo equivalente a señalar al autor de la página de perfil de usuario de Buddypress actual y recuperar un campo de perfil específico de su página de Buddypress

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

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

Gracias

Respuestas:


20

Para el enlace del perfil de un autor, use

bp_core_get_user_domain( $user_id )

para obtener la URL, y

bp_core_get_userlink( $user_id )

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

Para los datos de xprofile, use

xprofile_get_field_data( $field, $user_id )

$field puede ser el nombre del campo (como 'Biografía') o la identificación del campo numérico.


3

Es un poco diferente, pero dado que este hilo aparece primero en Google, podría ser útil para otra persona.

Para obtener el enlace actual del perfil de usuario conectado, simplemente use bp_loggedin_user_domain()

Espero que ayude.


2

Si necesita 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 muestra 'ubicación', que se puede eliminar. Esto es para mostrar un enlace para comentar el perfil de Buddypress del autor. Debe colocarse dentro de su ciclo de comentarios, que se verá así:

foreach($comments as $comment)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.