如何获取当前帖子作者的buddypress用户个人资料链接和特定用户个人资料字段?


16

我想替换get_author_link()和get_the_author_meta($ feld)

指向当前帖子Buddypress用户个人资料页面的作者,并从其Buddypress页面中检索特定个人资料字段的内容

即,我只想显示指向该帖子用户个人资料的链接和他的BP个人资料字段之一中的传记

我不确定应该为此使用哪些功能...与WP Codex不同,BuddyPress文档仍然不是很清楚...

谢谢

Answers:


20

对于作者的个人资料链接,请使用

bp_core_get_user_domain( $user_id )

获取网址,以及

bp_core_get_userlink( $user_id )

获取HTML链接元素,包括显示名称。

对于xprofile数据,请使用

xprofile_get_field_data( $field, $user_id )

$field 可以是字段名称(例如“传记”),也可以是数字字段ID。


3

有点不同,但是由于该线程首先出现在Google上,因此对其他人可能有用。

要获取当前登录的用户配置文件链接,只需使用 bp_loggedin_user_domain()

希望能有所帮助。


2

如果您需要在评论中添加它:

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

我提供了一个示例配置文件字段“位置”,可以将其删除。这是用于显示评论作者的Buddypress个人资料的链接。必须将其放置在您的注释循环中,该循环类似于:

foreach($comments as $comment)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.