Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Get Linked Member Types and User Roles.
- */
- function yzc_get_linked_member_types_and_user_roles() {
- // Set Member Type Name => User Role
- return array(
- 'student' => 'subscriber',
- 'teacher' => 'editor'
- );
- }
- /**
- * Sync Member Type => User Role.
- */
- function yzc_link_member_type_to_user_role( $user_id, $member_type ) {
- // Get Member Types and their Users Roles
- $user_roles = yzc_get_linked_member_types_and_user_roles();
- $user = new WP_User( $user_id );
- if ( isset( $user_roles[ $member_type ] ) ) {
- $user->set_role( $user_roles[ $member_type ] );
- }
- }
- add_action( 'bp_set_member_type', 'yzc_link_member_type_to_user_role', 10, 2 );
- /**
- * Sync User Role => Member Type.
- */
- function yzc_link_user_role_to_member_type( $user_id, $role ) {
- // Get Member Types and their Users Roles
- $member_types = yzc_get_linked_member_types_and_user_roles();
- // Switch Array Order.
- $member_types = array_flip( $member_types );
- if ( isset( $member_types[ $role ] ) ) {
- bp_set_member_type( $user_id, $member_types[ $role ] );
- }
- }
- add_action( 'set_user_role', 'yzc_link_user_role_to_member_type', 10, 2 );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement