如何在多站点博客中显示BuddyPress个人资料字段数据

时间:2013-04-24 作者:pollyplummer

我试图在WordPress multsite博客上显示BuddyPress xprofile字段。我认为这可能会起作用,但displayed\\u用户似乎在BP之外工作?有没有简单的方法可以做到这一点?我知道有一个old plugin 这可以在一个小部件中实现,但我并不真正需要所有这些,而是直接将其放在主题中。

以下是我在多站点博客的主题中尝试的内容。这适用于loggedin\\u user->id,但我拍摄的当然是博客管理员的配置文件数据。可以取回吗?

<?php 
global $bp;
$myfield = xprofile_get_field_data( \'Counties Served\', $bp->displayed_user->id, $multi_format = \'comma\' );
$data = xprofile_format_profile_field(\'checkbox\', $myfield);
echo $data;
?>

2 个回复
SO网友:modemlooper

这个$bp->displayed_user->id 返回与作者id相同的id,因此当您不在成员循环内或成员页面上时,必须使用WordPress函数获取用户id。

<?php 
global $bp, $post;
$myfield = xprofile_get_field_data( \'Counties Served\', $post->post_author, $multi_format = \'comma\' );
$data = xprofile_format_profile_field(\'checkbox\', $myfield);
echo $data;
?>

SO网友:pollyplummer

在反复尝试之后,以下是最终对我有效的方法:

global $bp;
$thisblog = $current_blog->blog_id;
$user_from_email = get_user_by(\'email\', get_blog_option($thisblog, \'admin_email\'));
$user_id = $user_from_email->ID;
$myfield = xprofile_get_field_data( \'Counties Served\', $user_id, $multi_format = \'comma\' );
$data = xprofile_format_profile_field(\'checkbox\', $myfield);
echo $data;

结束