在/ group / members /页面之外显示组的成员

问题描述 投票:0回答:1

我很难在小组的家中显示小组成员的简单列表。该代码在/ 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; ?>
wordpress buddypress
1个回答
0
投票

哦,在过去的几天里,我一直为此而烦恼。但是找到了解决方案,答案当然就在那里。我忘了在循环中排除管理员和改装人员。不明白为什么首先要排除它们。

有完整的代码,包括为感兴趣的任何人获取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; ?>
    ```
© www.soinside.com 2019 - 2024. All rights reserved.