Created
October 2, 2018 01:52
-
-
Save itsjusteileen/dbdf391518988a22eddb73e13e80f490 to your computer and use it in GitHub Desktop.
PMPro Customization to Add a Role to a User Level
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php // do no include in Customizations Plugin | |
/** | |
* When registering, add the member to a specific membership level | |
* | |
* @param integer $user_id | |
*/ | |
// Disables the pmpro redirect to levels page when user tries to register | |
add_filter( 'pmpro_login_redirect', '__return_false' ); | |
function my_pmpro_default_registration_level( $user_id ) { | |
// Give all members who register membership level 1 | |
pmpro_changeMembershipLevel( 1, $user_id ); | |
} | |
add_action( 'user_register', 'my_pmpro_default_registration_level' ); | |
function assign_pmpro_level_to_role( $user_id, $role, $old_roles ) { | |
// we found a role related to pmpro level | |
if ( $role == 'community' ) { | |
pmpro_changeMembershipLevel( 1, $user_id ); | |
} elseif ( $role == 'AdminEdit' ) { | |
pmpro_changeMembershipLevel( 7, $user_id ); // setup level 7 as an all access role or just give them level 1 | |
} else { | |
// default to no level | |
pmpro_changeMembershipLevel( 0, $user_id ); | |
} | |
} | |
add_action( 'set_user_role', 'assign_pmpro_level_to_role', 10, 3 ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment