BuddyPress-将配置文件字段添加到组>成员目录

时间:2013-07-10 作者:maikunari

我正在尝试将自定义配置文件字段添加到显示在Group>Single template上的成员配置文件中,但bp_member_profile_data 似乎什么都没还。

将其添加到members循环时效果良好。php:

<?php if ( bp_get_member_profile_data( \'field=Profile:\' ) ) : ?>
  <?php echo \'<BR><span class=memberslabel>Profile:</span> \'; ?>
  <?php bp_member_profile_data( \'field=Profile:\' ); ?>
<?php endif; ?>
但当我把它添加到groups/single/members.php 它不会返回任何内容。

我是否需要添加一些特殊的内容,以使此功能在成员中发挥作用。php?

UPDATE

下面提供的解决方案可以获得显示在组成员循环中的概要文件数据,但它显示了所有成员的最后一个成员的数据,我尝试添加

<?php $user_ID = get_current_user_id(); ?>

我也试过了

<?php echo xprofile_get_field_data( \'Profile:\', $bp->displayed_user->id ); ?>

但是没有改变,我如何将相关的用户ID传递到该函数中?

此外,配置文件字段似乎只针对登录的用户显示。

1 个回复
最合适的回答,由SO网友:chifliiiii 整理而成

尝试以下我使用的函数:

 xprofile_get_field_data(\'Profile\',$u_id);
$u_id 如果您不在成员循环中,则为用户ID。

因此,在您的情况下,应:

<?php if ( xprofile_get_field_data( \'Profile\', $user_ID ) ) : ?>
  <?php echo \'<BR><span class=memberslabel>Profile:</span> \'; ?>
  <?php echo xprofile_get_field_data( \'Profile\', $user_ID ); ?>
<?php endif; ?>
更新:您需要粘贴整个代码,以确保在正确的位置使用它。但您可以尝试以下方式:

<?php while ( bp_group_members() ) : bp_group_the_member(); ?>

            <li>
                <a href="<?php bp_group_member_domain(); ?>">

                    <?php bp_group_member_avatar_thumb(); ?>

                </a>

                <h5><?php bp_group_member_link(); ?></h5>
                <span class="activity"><?php bp_group_member_joined_since(); ?></span>

                <?php do_action( \'bp_group_members_list_item\' ); ?>

                <?php if ( bp_is_active( \'friends\' ) ) : ?>

                    <div class="action">

                        <?php bp_add_friend_button( bp_get_group_member_id(), bp_get_group_member_is_friend() ); ?>

                        <?php do_action( \'bp_group_members_list_item_action\' ); ?>

                    </div>

                <?php endif; ?>
                <?php 
                          $user_ID = bp_get_group_member_id();
                          if ( xprofile_get_field_data( \'Profile\', $user_ID ) ) : ?>
                          <?php echo \'<BR><span class=memberslabel>Profile:</span> \'; ?>
                               <?php echo xprofile_get_field_data( \'Profile\', $user_ID ); ?>
                <?php endif; ?>
            </li>

        <?php endwhile; ?>

结束