Home / Archive / MemberPress: Display All Members Subscribed To a Specific Membership
Duplicate Snippet

Embed Snippet on Your Site

MemberPress: Display All Members Subscribed To a Specific Membership

The code snippet registers a new shortcode: [mepr-membership-members id=" "]. Adding this shortcode will display a list of members subscribed to a specific membership in MemberPress.

The members' usernames and avatars will be displayed in an unordered list.

Replace the dummy membership ID of 123 with the actual membership ID needed, on this line:

[mepr-membership-members id="123"]

Code Preview
php
<?php
add_shortcode( 'mepr-membership-members', function( $attributes ) {
	global $wpdb;
	
	// Check if a valid membership ID is provided
	if( isset( $attributes['id'] ) && is_numeric( $attributes['id'] ) ) {
          $membership_id = (int) $attributes['id'];
      } else {
	    return; // Return nothing if no valid ID is provided
	}
	
	// Prepare SQL query to fetch members of the specified membership
	$sql = $wpdb->prepare( "SELECT user_id FROM {$wpdb->prefix}mepr_members WHERE memberships LIKE '%d%'", $membership_id );
	$members = $wpdb->get_results( $sql, ARRAY_A );
	// Start capturing output
	ob_start();
	if ( ! empty( $members ) ) {
		echo '<ul>';
		// Loop through members and display their avatars and usernames
		foreach( $members as $member ) {
			$user = get_user_by( 'id', $member['user_id'] );
			$username = $user->user_login;
			$avatar = get_avatar_url( $member['user_id'] );
			echo '<li><img src="' . esc_url($avatar) . '"><span>' . esc_html($username) . '</span></li>';
		}
		echo '</ul>';
	}
	// Return the captured output
	return ob_get_clean();
});

Comments

Add a Comment