Filter the new level for the user as passed in to the pmpro_changeMembershipLevel function before it is added to the member.
apply_filters( 'pmpro_change_level', $level, $user_id, $old_level_status, $cancel_level );
- int ID of level to set as new level. 0 if the user’s membership is being cancelled.
- int ID of the user to change levels for
- string The status to set for the row in the memberships users table. (e.g. inactive, cancelled, admin_cancelled, expired) Defaults to ‘inactive’.
- int If set, cancel just this one level instead of all active levels (to support Multiple Memberships per User)