groups_ajax_widget_groups_list()
AJAX callback for the Groups List widget.
Description
Source
File: bp-groups/bp-groups-widgets.php
function groups_ajax_widget_groups_list() { check_ajax_referer( 'groups_widget_groups_list' ); switch ( $_POST['filter'] ) { case 'newest-groups': $type = 'newest'; break; case 'recently-active-groups': $type = 'active'; break; case 'popular-groups': $type = 'popular'; break; case 'alphabetical-groups': $type = 'alphabetical'; break; } $per_page = isset( $_POST['max_groups'] ) ? intval( $_POST['max_groups'] ) : 5; $groups_args = array( 'user_id' => 0, 'type' => $type, 'per_page' => $per_page, 'max' => $per_page, ); if ( bp_has_groups( $groups_args ) ) : ?> <?php echo "0[[SPLIT]]"; ?> <?php while ( bp_groups() ) : bp_the_group(); ?> <li <?php bp_group_class(); ?>> <div class="item-avatar"> <a href="<?php bp_group_permalink() ?>"><?php bp_group_avatar_thumb() ?></a> </div> <div class="item"> <div class="item-title"><?php bp_group_link(); ?></div> <div class="item-meta"> <span class="activity"> <?php if ( 'newest' == $type ) { printf( __( 'created %s', 'buddyboss' ), bp_get_group_date_created() ); } elseif ( 'popular' == $type ) { bp_group_member_count(); } else { printf( __( 'active %s', 'buddyboss' ), bp_get_group_last_active() ); } ?> </span> </div> </div> </li> <?php endwhile; ?> <?php wp_nonce_field( 'groups_widget_groups_list', '_wpnonce-groups' ); ?> <input type="hidden" name="groups_widget_max" id="groups_widget_max" value="<?php echo esc_attr( $_POST['max_groups'] ); ?>" /> <?php else: ?> <?php echo "-1[[SPLIT]]<li>" . __( "No groups matched the current filter.", 'buddyboss' ); ?> <?php endif; }
Changelog
Version | Description |
---|---|
BuddyPress 1.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.