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)
File: https://github.com/strangerstudios/paid-memberships-pro/blob/master/includes/functions.phpView in Source Code
About Actions and Filters in PMPro
Hooks allow you to extend Paid Memberships Pro without editing any core plugin files. You can use a hook to program custom code that interacts with or modifies code in our plugin, Add Ons, your theme, and even WordPress itself.
There are two kinds of hooks: actions and filters.
- Action hooks allow you to run new custom code at pre-defined locations.
- Filter hooks allow you change or extend existing code by modifying the data and returning it back to the software.
Click here to browse the full database of action and filter hooks available in Paid Memberships Pro. For help extending our Add Ons, refer to the individual Add On's documentation page for a list of available hooks.
For more developer-focused information about Paid Memberships Pro, check out the advanced developer topics documentation.