Update Community Role on Approved Membership UM 2.0
-
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;}
- The topic ‘Update Community Role on Approved Membership UM 2.0’ is closed to new replies.