Normally, you would charge people to upgrade their membership level to a new one. The standard upgrade documentation explains how that process is handled.
However, for a particular project, you may want to allow your members to upgrade their membership level for free. They just log into the site as a member then click a button to upgrade (or add) the level to their profile. This documentation explains how you can create a button that will allow your members to do that.
Creating a Button for Free Membership Level Upgrade
Step 1) Create a new WordPress page (where you will put the free upgrade buttons).
Step 2) Use the following shortcode in this newly created page. So you are creating a button that will upgrade the user’s membership level to the one specified in the “level” parameter of the shortcode.
[wp_eMember_upgrade_membership_level_to level="3"]
3 is the membership level ID in the above example. So change it to the correct level ID value for your site.
You can put as many buttons as you want (using the above shortcode) on this page for your various different levels that you want to offer free upgrade.
Step 3) Protect this page so only logged-in members of the site can view and interact with the upgrade buttons. You can use partial protection too (if that makes sense for your particular situation).
Step 4) Tell your users (who already has an account on your site) to go to this page and click on the button to upgrade.
When logged-in members click on the button that this shortcode generates, it upgrades their membership level to the one specified in the shortcode. If you are using the multiple membership level per user feature, then it will ADD the specified level to their profile (meaning they will now be able to access content of this newly added level).
Custom Button Text for the Update Level Button
You can specify a custom button text for the button by using the “button_text” parameter in the shortcode.
Example shortcode usage below:
[wp_eMember_upgrade_membership_level_to level="3" button_text="Click here to update"]
Redirect the Members to a Page After They Use the Button
You can use the “redirect_to” parameter in the shortcode to redirect the members to a page after they use the level update button.
Example shortcode usage below:
[wp_eMember_upgrade_membership_level_to level="3" redirect_to="http://www.exmaple.com/page-after-update-button-usage"]