我很难在小组的家中显示小组成员的简单列表。该代码在/ group / members /页面上有效。但这不适用于团体的住所。
文档说(https://codex.buddypress.org/developer/loops-reference/the-group-members-loop-bp_group_has_members/):
所需的组ID要为其获取成员的组的ID。在以下情况之一时需要:正常的BuddyPress组网址(/ group / i-love-bp / members /)之外或未嵌套在bp_has_groups()循环中。
所以这正是我所做的,但仍然没有运气。有什么想法吗?
这是我的代码:
<?php
$args = array(
'group_id' => bp_get_group_id()
);
if ( bp_group_has_members( $args ) ) : ?>
<ul id="member-list" class="item-list">
<?php while ( bp_group_members() ) : bp_group_the_member(); ?>
<li>
<span class="avatar">
<a href="<?php bp_group_member_domain(); ?>">
<?php bp_group_member_avatar_thumb(); ?>
</a>
</span>
<span class="name">
<a href="<?php bp_group_member_domain(); ?>">
<h4><?php bp_group_member_name(); ?></h4>
</a>
</span>
<span class="actions">
<a class="button small" href="<?php bp_group_member_domain(); ?>">
<?php esc_html_e('View profile', 'mvp'); ?>
</a>
</span>
</li>
<?php endwhile; ?>
</ul>
<?php else: ?>
<div id="message" class="info">
<p><?php _e( 'No members were found.', 'buddypress' ); ?></p>
</div>
<?php endif; ?>
哦,在过去的几天里,我一直为此而烦恼。但是找到了解决方案,答案当然就在那里。我忘了在循环中排除管理员和改装人员。不明白为什么首先要排除它们。
有完整的代码,包括为感兴趣的任何人获取xProfile字段:
<?php
$args = array(
'group_id' => bp_get_group_id(),
'exclude_admins_mods' => false
);
if ( bp_group_has_members( $args ) ) : ?>
<ul id="member-list" class="item-list">
<?php while ( bp_group_members() ) : bp_group_the_member(); ?>
<?php $user_id = bp_get_group_member_id(); ?>
<li>
<span class="avatar">
<a href="<?php bp_group_member_domain(); ?>">
<?php bp_group_member_avatar_thumb(); ?>
</a>
</span>
<span class="name">
<a href="<?php bp_group_member_domain(); ?>">
<h4><?php bp_group_member_name(); ?></h4>
</a>
</span>
<span class="platforms">
<?php $user_psn_handle = bp_get_profile_field_data('field=PSN handle&user_id='.$user_id); ?>
<?php if($user_psn_handle): ?>
<i class="icon saturated standalone platform psn"></i>
<?php endif; ?>
<?php $user_xbox_handle = bp_get_profile_field_data('field=XBOX handle&user_id='.$user_id); ?>
<?php if($user_xbox_handle): ?>
<i class="icon saturated standalone platform xbox"></i>
<?php endif; ?>
</span>
<span class="actions">
<a class="button small" href="<?php bp_group_member_domain(); ?>">
<?php esc_html_e('View profile', 'mvp'); ?>
</a>
</span>
</li>
<?php endwhile; ?>
</ul>
<?php else: ?>
<div id="message" class="info">
<p><?php _e( 'No members were found.', 'buddypress' ); ?></p>
</div>
<?php endif; ?>
```