Skip to content

Instantly share code, notes, and snippets.

@itsjusteileen
Created October 2, 2018 01:52
Show Gist options
  • Save itsjusteileen/dbdf391518988a22eddb73e13e80f490 to your computer and use it in GitHub Desktop.
Save itsjusteileen/dbdf391518988a22eddb73e13e80f490 to your computer and use it in GitHub Desktop.
PMPro Customization to Add a Role to a User Level
<?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