Quantcast
Channel: WordPress.org Forums » All Topics
Viewing all articles
Browse latest Browse all 59525

Update Community Role on Approved Membership UM 2.0

$
0
0

Replies: 2

Previously I had a function written that would update a users role to member when an administrator would approve a membership.
Code looked like this:

add_action('um_after_user_is_approved', 'approved_um_and_wp_role', 99 );
function approved_um_and_wp_role( $user_id ) {
	// Set UM role
	update_user_meta( $user_id, 'role', 'member' );
	$role = get_user_meta( $user_id, 'role', true);

	// Set WordPress role for same user
	if ( $role == 'member' ) {
		$wp_user_object = new WP_User( $user_id );
		$wp_user_object->set_role( 'volunteer' );
	} 
}

// Set user role on deactivate
add_action('um_after_user_is_inactive', 'deactivated_um_and_wp_role', 99 );
function deactivated_um_and_wp_role( $user_id ) {
	// Set UM role
	update_user_meta( $user_id, 'role', 'deactivated' );
	$role = get_user_meta( $user_id, 'role', true);

	// Set WordPress role for same user
	if ( $role == 'deactivated' ) {
		$wp_user_object = new WP_User( $user_id );
		$wp_user_object->set_role( 'none' );
	} 
}

With 2.0 however, it no longer cares about the “role” field and everything is dictated by the status and the _capabilities row in user_meta. How can I modify this so that, when I approve a membership it updates their community/user role? I currently have the default role after registration set to “Needs Approval” so that I can categorize potential members. Then I approve their membership and change their role to “Volunteer”. The database entry looks like _capabilities : a:1:{s:12:”um_volunteer”;b:1;}


Viewing all articles
Browse latest Browse all 59525

Trending Articles