Buddyboss组过滤器

发布于 2025-02-06 10:08:59 字数 4879 浏览 2 评论 0原文

在Buddyboss组中,所有组都显示。 我想添加一个仅在第一个网格中显示具有特定CateGrorie的过滤器。

我在第一个网格中添加了评论,发现我可以在 我第二次复制代码,但是我有过滤问题。

然后,我想将另一个带有过滤器的网格添加到另一组分类。 我该如何实现?

我不明白如何添加过滤器。

    <?php
/**
 * BuddyBoss - Groups Loop
 *
 * @since BuddyPress 3.0.0
 * @version 3.1.0
 */

bp_nouveau_before_loop(); ?>

<?php if ( bp_get_current_group_directory_type() ) : ?>
    <div class="bp-feedback info">
    <span class="bp-icon" aria-hidden="true"></span>
    <p class="current-group-type"><?php bp_current_group_directory_type_message(); ?></p>
    </div>
<?php endif; ?>

<?php $cover_class = bp_disable_group_cover_image_uploads() ? 'bb-cover-disabled' : 'bb-cover-enabled'; ?>

<?php if ( bp_has_groups( bp_ajax_querystring( 'groups' ) ) ) : ?>

    <?php bp_nouveau_pagination( 'top' ); ?>

//FIRST GRID ONLY FOR "KOMMISIONEN"

    <ul id="groups-list-kommissionen" class="<?php bp_nouveau_loop_classes(); ?> <?php echo $cover_class; ?>">

    <?php
    while ( bp_groups() ) :
        bp_the_group();
    ?>

        <li <?php bp_group_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_group_id(); ?>" data-bp-item-component="groups">
            <div class="list-wrap">

                <?php if( !bp_disable_group_cover_image_uploads() ) { ?>
                    <?php
                    $group_cover_image_url = bp_attachments_get_attachment( 'url', array(
                        'object_dir' => 'groups',
                        'item_id'    => bp_get_group_id(),
                    ) );
                    $default_group_cover   = buddyboss_theme_get_option( 'buddyboss_group_cover_default', 'url' );
                    $group_cover_image_url = $group_cover_image_url ?: $default_group_cover;
                    ?>
                    <div class="bs-group-cover only-grid-view"><a href="<?php bp_group_permalink(); ?>"><img src="<?php echo $group_cover_image_url; ?>"></a></div>
                <?php } ?>
                <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
                    <div class="item-avatar">
                        <a href="<?php bp_group_permalink(); ?>" class="group-avatar-wrap"><?php bp_group_avatar( bp_nouveau_avatar_args() ); ?></a>

                        <div class="groups-loop-buttons only-grid-view">
                            <?php bp_nouveau_groups_loop_buttons(); ?>
                        </div>
                    </div>
                <?php endif; ?>

                <div class="item">
                    <div class="item-block">

                        <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>

                        <?php if ( bp_nouveau_group_has_meta() ) : ?>

                            <p class="item-meta group-details only-list-view"><?php bp_nouveau_group_meta(); ?></p>
                            <p class="item-meta group-details only-grid-view"><?php
                                $meta = bp_nouveau_get_group_meta();
                                echo $meta['status']; ?>
                            </p>
                        <?php endif; ?>

                        <p class="last-activity item-meta">
                            <?php
                            printf(
                                /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
                                __( 'active %s', 'buddyboss-theme' ),
                                bp_get_group_last_active()
                            );
                            ?>
                        </p>

                    </div>

                    <div class="item-desc group-item-desc only-list-view"><?php bp_group_description_excerpt( false , 150 ) ?></div>

                    <?php bp_nouveau_groups_loop_item(); ?>

                    <div class="groups-loop-buttons footer-button-wrap"><?php bp_nouveau_groups_loop_buttons(); ?></div>

                    <div class="group-members-wrap only-grid-view">
                        <?php echo buddyboss_theme()->buddypress_helper()->group_members( bp_get_group_id(), array( 'member', 'mod', 'admin' ) ); ?>
                    </div>
                </div>
            </div>
        </li>

    <?php endwhile; ?>
        


    <?php bp_nouveau_pagination( 'bottom' ); ?>

<?php else : ?>

    <?php bp_nouveau_user_feedback( 'groups-loop-none' ); ?>

<?php endif; ?>

<?php
bp_nouveau_after_loop();

In the Buddyboss Group Loop are all groups displayed.
I want to add a filter that only groups with a specific categrorie are displayed in the first grid.

I added the comment to the first grid and found out that i can display another grid when
i duplicate the code a second time, but i have the filter problem.

Then i want to add another grid with also a filter to another group categorie.
How can i achieve this?

I dont get it how to add a filter.

    <?php
/**
 * BuddyBoss - Groups Loop
 *
 * @since BuddyPress 3.0.0
 * @version 3.1.0
 */

bp_nouveau_before_loop(); ?>

<?php if ( bp_get_current_group_directory_type() ) : ?>
    <div class="bp-feedback info">
    <span class="bp-icon" aria-hidden="true"></span>
    <p class="current-group-type"><?php bp_current_group_directory_type_message(); ?></p>
    </div>
<?php endif; ?>

<?php $cover_class = bp_disable_group_cover_image_uploads() ? 'bb-cover-disabled' : 'bb-cover-enabled'; ?>

<?php if ( bp_has_groups( bp_ajax_querystring( 'groups' ) ) ) : ?>

    <?php bp_nouveau_pagination( 'top' ); ?>

//FIRST GRID ONLY FOR "KOMMISIONEN"

    <ul id="groups-list-kommissionen" class="<?php bp_nouveau_loop_classes(); ?> <?php echo $cover_class; ?>">

    <?php
    while ( bp_groups() ) :
        bp_the_group();
    ?>

        <li <?php bp_group_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_group_id(); ?>" data-bp-item-component="groups">
            <div class="list-wrap">

                <?php if( !bp_disable_group_cover_image_uploads() ) { ?>
                    <?php
                    $group_cover_image_url = bp_attachments_get_attachment( 'url', array(
                        'object_dir' => 'groups',
                        'item_id'    => bp_get_group_id(),
                    ) );
                    $default_group_cover   = buddyboss_theme_get_option( 'buddyboss_group_cover_default', 'url' );
                    $group_cover_image_url = $group_cover_image_url ?: $default_group_cover;
                    ?>
                    <div class="bs-group-cover only-grid-view"><a href="<?php bp_group_permalink(); ?>"><img src="<?php echo $group_cover_image_url; ?>"></a></div>
                <?php } ?>
                <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
                    <div class="item-avatar">
                        <a href="<?php bp_group_permalink(); ?>" class="group-avatar-wrap"><?php bp_group_avatar( bp_nouveau_avatar_args() ); ?></a>

                        <div class="groups-loop-buttons only-grid-view">
                            <?php bp_nouveau_groups_loop_buttons(); ?>
                        </div>
                    </div>
                <?php endif; ?>

                <div class="item">
                    <div class="item-block">

                        <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>

                        <?php if ( bp_nouveau_group_has_meta() ) : ?>

                            <p class="item-meta group-details only-list-view"><?php bp_nouveau_group_meta(); ?></p>
                            <p class="item-meta group-details only-grid-view"><?php
                                $meta = bp_nouveau_get_group_meta();
                                echo $meta['status']; ?>
                            </p>
                        <?php endif; ?>

                        <p class="last-activity item-meta">
                            <?php
                            printf(
                                /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
                                __( 'active %s', 'buddyboss-theme' ),
                                bp_get_group_last_active()
                            );
                            ?>
                        </p>

                    </div>

                    <div class="item-desc group-item-desc only-list-view"><?php bp_group_description_excerpt( false , 150 ) ?></div>

                    <?php bp_nouveau_groups_loop_item(); ?>

                    <div class="groups-loop-buttons footer-button-wrap"><?php bp_nouveau_groups_loop_buttons(); ?></div>

                    <div class="group-members-wrap only-grid-view">
                        <?php echo buddyboss_theme()->buddypress_helper()->group_members( bp_get_group_id(), array( 'member', 'mod', 'admin' ) ); ?>
                    </div>
                </div>
            </div>
        </li>

    <?php endwhile; ?>
        


    <?php bp_nouveau_pagination( 'bottom' ); ?>

<?php else : ?>

    <?php bp_nouveau_user_feedback( 'groups-loop-none' ); ?>

<?php endif; ?>

<?php
bp_nouveau_after_loop();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缺⑴份安定 2025-02-13 10:09:01

好吧,我通过尝试所有可能的方法找到了答案。

这是解决方案代码。

<?php
/**
 * BuddyBoss - Groups Loop
 *
 * @since BuddyPress 3.0.0
 * @version 3.1.0
 */

bp_nouveau_before_loop(); ?>

<?php if ( bp_get_current_group_directory_type() ) : ?>
    <div class="bp-feedback info">
    <span class="bp-icon" aria-hidden="true"></span>
    <p class="current-group-type"><?php bp_current_group_directory_type_message(); ?></p>
    </div>
<?php endif; ?>

<?php $cover_class = bp_disable_group_cover_image_uploads() ? 'bb-cover-disabled' : 'bb-cover-enabled'; ?>

<?php if ( bp_has_groups( 'group_type=kommission' ) ) : ?>

    <?php bp_nouveau_pagination( 'top' ); ?>

    <ul id="groups-list-kommissionen" class="<?php bp_nouveau_loop_classes(); ?> <?php echo $cover_class; ?>">

    <?php
    while ( bp_groups() ) :
        bp_the_group();
    ?>

        <li <?php bp_group_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_group_id(); ?>" data-bp-item-component="groups">
            <div class="list-wrap">

                <?php if( !bp_disable_group_cover_image_uploads() ) { ?>
                    <?php
                    $group_cover_image_url = bp_attachments_get_attachment( 'url', array(
                        'object_dir' => 'groups',
                        'item_id'    => bp_get_group_id(),
                    ) );
                    $default_group_cover   = buddyboss_theme_get_option( 'buddyboss_group_cover_default', 'url' );
                    $group_cover_image_url = $group_cover_image_url ?: $default_group_cover;
                    ?>
                    <div class="bs-group-cover only-grid-view"><a href="<?php bp_group_permalink(); ?>"><img src="<?php echo $group_cover_image_url; ?>"></a></div>
                <?php } ?>

                <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
                    <div class="item-avatar">
                        <a href="<?php bp_group_permalink(); ?>" class="group-avatar-wrap"><?php bp_group_avatar( bp_nouveau_avatar_args() ); ?></a>

                        <div class="groups-loop-buttons only-grid-view">
                            <?php bp_nouveau_groups_loop_buttons(); ?>
                        </div>
                    </div>
                <?php endif; ?>

                <div class="item">
                    <div class="item-block">

                        <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>

                        <?php if ( bp_nouveau_group_has_meta() ) : ?>

                            <p class="item-meta group-details only-list-view"><?php bp_nouveau_group_meta(); ?></p>
                            <p class="item-meta group-details only-grid-view"><?php
                                $meta = bp_nouveau_get_group_meta();
                                echo $meta['status']; ?>
                            </p>
                        <?php endif; ?>

                        <p class="last-activity item-meta">
                            <?php
                            printf(
                                /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
                                __( 'active %s', 'buddyboss-theme' ),
                                bp_get_group_last_active()
                            );
                            ?>
                        </p>

                    </div>

                    <div class="item-desc group-item-desc only-list-view"><?php bp_group_description_excerpt( false , 150 ) ?></div>

                    <?php bp_nouveau_groups_loop_item(); ?>

                    <div class="groups-loop-buttons footer-button-wrap"><?php bp_nouveau_groups_loop_buttons(); ?></div>

                    <div class="group-members-wrap only-grid-view">
                        <?php echo buddyboss_theme()->buddypress_helper()->group_members( bp_get_group_id(), array( 'member', 'mod', 'admin' ) ); ?>
                    </div>
                </div>
            </div>
        </li>

    <?php endwhile; ?>

    </ul>

    <?php bp_nouveau_pagination( 'bottom' ); ?>

<?php else : ?>

    <?php bp_nouveau_user_feedback( 'groups-loop-none' ); ?>

<?php endif; ?>
<?php if ( bp_has_groups( 'group_type=task-force' ) ) : ?>

<?php bp_nouveau_pagination( 'top' ); ?>

<ul id="groups-list-taskForces" class="<?php bp_nouveau_loop_classes(); ?> <?php echo $cover_class; ?>">

<?php
while ( bp_groups() ) :
    bp_the_group();
?>

    <li <?php bp_group_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_group_id(); ?>" data-bp-item-component="groups">
        <div class="list-wrap">

            <?php if( !bp_disable_group_cover_image_uploads() ) { ?>
                <?php
                $group_cover_image_url = bp_attachments_get_attachment( 'url', array(
                    'object_dir' => 'groups',
                    'item_id'    => bp_get_group_id(),
                ) );
                $default_group_cover   = buddyboss_theme_get_option( 'buddyboss_group_cover_default', 'url' );
                $group_cover_image_url = $group_cover_image_url ?: $default_group_cover;
                ?>
                <div class="bs-group-cover only-grid-view"><a href="<?php bp_group_permalink(); ?>"><img src="<?php echo $group_cover_image_url; ?>"></a></div>
            <?php } ?>

            <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
                <div class="item-avatar">
                    <a href="<?php bp_group_permalink(); ?>" class="group-avatar-wrap"><?php bp_group_avatar( bp_nouveau_avatar_args() ); ?></a>

                    <div class="groups-loop-buttons only-grid-view">
                        <?php bp_nouveau_groups_loop_buttons(); ?>
                    </div>
                </div>
            <?php endif; ?>

            <div class="item">
                <div class="item-block">

                    <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>

                    <?php if ( bp_nouveau_group_has_meta() ) : ?>

                        <p class="item-meta group-details only-list-view"><?php bp_nouveau_group_meta(); ?></p>
                        <p class="item-meta group-details only-grid-view"><?php
                            $meta = bp_nouveau_get_group_meta();
                            echo $meta['status']; ?>
                        </p>
                    <?php endif; ?>

                    <p class="last-activity item-meta">
                        <?php
                        printf(
                            /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
                            __( 'active %s', 'buddyboss-theme' ),
                            bp_get_group_last_active()
                        );
                        ?>
                    </p>

                </div>

                <div class="item-desc group-item-desc only-list-view"><?php bp_group_description_excerpt( false , 150 ) ?></div>

                <?php bp_nouveau_groups_loop_item(); ?>

                <div class="groups-loop-buttons footer-button-wrap"><?php bp_nouveau_groups_loop_buttons(); ?></div>

                <div class="group-members-wrap only-grid-view">
                    <?php echo buddyboss_theme()->buddypress_helper()->group_members( bp_get_group_id(), array( 'member', 'mod', 'admin' ) ); ?>
                </div>
            </div>
        </div>
    </li>

<?php endwhile; ?>

</ul>

<?php bp_nouveau_pagination( 'bottom' ); ?>

<?php else : ?>

<?php bp_nouveau_user_feedback( 'groups-loop-none' ); ?>

<?php endif; ?>

<?php
bp_nouveau_after_loop();

Okay i found the answer by trying all possible ways.

Here is the solution code.

<?php
/**
 * BuddyBoss - Groups Loop
 *
 * @since BuddyPress 3.0.0
 * @version 3.1.0
 */

bp_nouveau_before_loop(); ?>

<?php if ( bp_get_current_group_directory_type() ) : ?>
    <div class="bp-feedback info">
    <span class="bp-icon" aria-hidden="true"></span>
    <p class="current-group-type"><?php bp_current_group_directory_type_message(); ?></p>
    </div>
<?php endif; ?>

<?php $cover_class = bp_disable_group_cover_image_uploads() ? 'bb-cover-disabled' : 'bb-cover-enabled'; ?>

<?php if ( bp_has_groups( 'group_type=kommission' ) ) : ?>

    <?php bp_nouveau_pagination( 'top' ); ?>

    <ul id="groups-list-kommissionen" class="<?php bp_nouveau_loop_classes(); ?> <?php echo $cover_class; ?>">

    <?php
    while ( bp_groups() ) :
        bp_the_group();
    ?>

        <li <?php bp_group_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_group_id(); ?>" data-bp-item-component="groups">
            <div class="list-wrap">

                <?php if( !bp_disable_group_cover_image_uploads() ) { ?>
                    <?php
                    $group_cover_image_url = bp_attachments_get_attachment( 'url', array(
                        'object_dir' => 'groups',
                        'item_id'    => bp_get_group_id(),
                    ) );
                    $default_group_cover   = buddyboss_theme_get_option( 'buddyboss_group_cover_default', 'url' );
                    $group_cover_image_url = $group_cover_image_url ?: $default_group_cover;
                    ?>
                    <div class="bs-group-cover only-grid-view"><a href="<?php bp_group_permalink(); ?>"><img src="<?php echo $group_cover_image_url; ?>"></a></div>
                <?php } ?>

                <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
                    <div class="item-avatar">
                        <a href="<?php bp_group_permalink(); ?>" class="group-avatar-wrap"><?php bp_group_avatar( bp_nouveau_avatar_args() ); ?></a>

                        <div class="groups-loop-buttons only-grid-view">
                            <?php bp_nouveau_groups_loop_buttons(); ?>
                        </div>
                    </div>
                <?php endif; ?>

                <div class="item">
                    <div class="item-block">

                        <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>

                        <?php if ( bp_nouveau_group_has_meta() ) : ?>

                            <p class="item-meta group-details only-list-view"><?php bp_nouveau_group_meta(); ?></p>
                            <p class="item-meta group-details only-grid-view"><?php
                                $meta = bp_nouveau_get_group_meta();
                                echo $meta['status']; ?>
                            </p>
                        <?php endif; ?>

                        <p class="last-activity item-meta">
                            <?php
                            printf(
                                /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
                                __( 'active %s', 'buddyboss-theme' ),
                                bp_get_group_last_active()
                            );
                            ?>
                        </p>

                    </div>

                    <div class="item-desc group-item-desc only-list-view"><?php bp_group_description_excerpt( false , 150 ) ?></div>

                    <?php bp_nouveau_groups_loop_item(); ?>

                    <div class="groups-loop-buttons footer-button-wrap"><?php bp_nouveau_groups_loop_buttons(); ?></div>

                    <div class="group-members-wrap only-grid-view">
                        <?php echo buddyboss_theme()->buddypress_helper()->group_members( bp_get_group_id(), array( 'member', 'mod', 'admin' ) ); ?>
                    </div>
                </div>
            </div>
        </li>

    <?php endwhile; ?>

    </ul>

    <?php bp_nouveau_pagination( 'bottom' ); ?>

<?php else : ?>

    <?php bp_nouveau_user_feedback( 'groups-loop-none' ); ?>

<?php endif; ?>
<?php if ( bp_has_groups( 'group_type=task-force' ) ) : ?>

<?php bp_nouveau_pagination( 'top' ); ?>

<ul id="groups-list-taskForces" class="<?php bp_nouveau_loop_classes(); ?> <?php echo $cover_class; ?>">

<?php
while ( bp_groups() ) :
    bp_the_group();
?>

    <li <?php bp_group_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_group_id(); ?>" data-bp-item-component="groups">
        <div class="list-wrap">

            <?php if( !bp_disable_group_cover_image_uploads() ) { ?>
                <?php
                $group_cover_image_url = bp_attachments_get_attachment( 'url', array(
                    'object_dir' => 'groups',
                    'item_id'    => bp_get_group_id(),
                ) );
                $default_group_cover   = buddyboss_theme_get_option( 'buddyboss_group_cover_default', 'url' );
                $group_cover_image_url = $group_cover_image_url ?: $default_group_cover;
                ?>
                <div class="bs-group-cover only-grid-view"><a href="<?php bp_group_permalink(); ?>"><img src="<?php echo $group_cover_image_url; ?>"></a></div>
            <?php } ?>

            <?php if ( ! bp_disable_group_avatar_uploads() ) : ?>
                <div class="item-avatar">
                    <a href="<?php bp_group_permalink(); ?>" class="group-avatar-wrap"><?php bp_group_avatar( bp_nouveau_avatar_args() ); ?></a>

                    <div class="groups-loop-buttons only-grid-view">
                        <?php bp_nouveau_groups_loop_buttons(); ?>
                    </div>
                </div>
            <?php endif; ?>

            <div class="item">
                <div class="item-block">

                    <h2 class="list-title groups-title"><?php bp_group_link(); ?></h2>

                    <?php if ( bp_nouveau_group_has_meta() ) : ?>

                        <p class="item-meta group-details only-list-view"><?php bp_nouveau_group_meta(); ?></p>
                        <p class="item-meta group-details only-grid-view"><?php
                            $meta = bp_nouveau_get_group_meta();
                            echo $meta['status']; ?>
                        </p>
                    <?php endif; ?>

                    <p class="last-activity item-meta">
                        <?php
                        printf(
                            /* translators: %s = last activity timestamp (e.g. "active 1 hour ago") */
                            __( 'active %s', 'buddyboss-theme' ),
                            bp_get_group_last_active()
                        );
                        ?>
                    </p>

                </div>

                <div class="item-desc group-item-desc only-list-view"><?php bp_group_description_excerpt( false , 150 ) ?></div>

                <?php bp_nouveau_groups_loop_item(); ?>

                <div class="groups-loop-buttons footer-button-wrap"><?php bp_nouveau_groups_loop_buttons(); ?></div>

                <div class="group-members-wrap only-grid-view">
                    <?php echo buddyboss_theme()->buddypress_helper()->group_members( bp_get_group_id(), array( 'member', 'mod', 'admin' ) ); ?>
                </div>
            </div>
        </div>
    </li>

<?php endwhile; ?>

</ul>

<?php bp_nouveau_pagination( 'bottom' ); ?>

<?php else : ?>

<?php bp_nouveau_user_feedback( 'groups-loop-none' ); ?>

<?php endif; ?>

<?php
bp_nouveau_after_loop();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文