In the online community scene, it’s not just about looking fancy—it’s about building an interactive, lively, and safe space for members to communicate.

Approvals are a necessary feature for many membership sites that want to control who can gain access to the community or view restricted content.

Take customization to the next level by setting a requirement for an approved membership from another level to finalize the checkout process. After membership signup, the Admin, Membership Manager or Approver Role gains the power to either approve or deny membership applications.

This unique feature enables a two-step membership application, incorporating an optional application fee on the initial level and charging the full recurring membership fee on the primary membership for approved members.

If an application is denied, the user will not be able to access member-only content. Once approved, members gain access to all exclusive content.

How it Works

After a member signs up, the Admin, Membership Manager, or new Approver roles will have the ability to approve their membership or deny the application. The system charges the member the initial payment and applicable subscription based on the level’s settings during checkout.

Additionally, you can set a level to require an approved membership from another level in order to complete checkout. This allows you to offer a two-step membership application and full membership registration model. You can place an application fee on the application level, and then charge your full recurring membership fee on the primary membership for approved members.

The applying member and the admin will receive email notifications along the process to alert them of the application status.

Pending approval, members cannot access members-only content. Upon approval, they gain access to all exclusive content include in the membership level selected.

Flowchart for how the approval process works with the Approvals Add On

Video: How to Approve or Deny Members

Installation

You must have the Paid Memberships Pro plugin installed and activated with a valid license type to use this Add On.

  1. Navigate to Memberships > Add Ons in the WordPress admin.
  2. Locate the Add On and click Install Now.
    • To install this plugin manually, download the .zip file above, then upload the compressed directory via the Plugins > Add New > Upload Plugin screen in the WordPress admin.
  3. Activate the plugin through the Plugins screen in the WordPress admin.

Setup

  1. Navigate to the Memberships > Membership Levels > “Edit Level” or “Add New Level” admin page.
  2. Next, select an option for the “Requires Approval” setting under the “Approval Settings” heading. Options include:
    • No. (The level does not require approval.)
    • Yes. Admin must approve new members for this level. (The level does require approval.)
    • Yes. User must have an approved membership for a different level. (The member must be approved for the “application level” in order to complete checkout for the membership level that gains access to the community or restricted content.)
    • Yes. User must have an approved membership for a different level AND admin must approve new members for this level. (The member must be approved for the “application level” AND be approved for the membership level that gains access to the community or restricted content.)
Edit Membership Level section added by the Approvals Add On
  1. If the level requires approval from another level, select the “application level” from the field “Which level?
  2. Save settings.

Processing Approvals

Manage approvals via the Memberships > Approvals admin page.

This dashboard shows all of your members that have completed an application and allows the administrator to approve, deny, or view the status of a previous decision.

  • To approve a member, click the “Approve” link.
  • To deny a member, click the “Deny” link.
  • To reverse a previous decision, click the “[x]” link.
Image to show the process of approvals on the Membership Approval Admin Page

Applicant and Member Notifications

Five notification emails will be sent to the admin or member throughout the membership approval process, and customization can be done on the Memberships > Settings > Email Templates page in the WordPress admin.

Email File NameDescription
admin_approved.htmlSent to the admin confirming an approved membership application via the Memberships > Approvals admin page.

 

Available email template data: !!subject!!, !!name!!, !!user_login!!, !!sitename!!, !!membership_id!!, !!membership_level_name!!, !!siteemail!!, !!login_link, !!member_name!!, !!view_profile!!

admin_denied.htmlSent to the admin confirming a denied membership application via the Memberships > Approvals admin page.

 

Available email template data: !!subject!!, !!name!!, !!user_login!!, !!sitename!!, !!membership_id!!, !!membership_level_name!!, !!siteemail!!, !!login_link, !!member_name!!, !!view_profile!!

admin_notification_approval.htmlSent to the admin after a new membership application has been received.

 

Available email template data: !!subject!!, !!name!!, !!user_login!!, !!sitename!!, !!membership_id!!, !!membership_level_name!!, !!siteemail!!, !!login_link, !!member_name!!, !!view_profile!!, !!approve_link!!, !!deny_link!!

application_approved.htmlSent to the member after the application has been approved via the Memberships > Approvals admin page.

 

Available email template data: !!subject!!, !!name!!, !!user_login!!, !!sitename!!, !!membership_id!!, !!membership_level_name!!, !!siteemail!!, !!login_link

application_denied.htmlSent to the member after the application has been denied via the Memberships > Approvals admin page.

 

Available email template data: !!subject!!, !!name!!, !!user_login!!, !!sitename!!, !!membership_id!!, !!membership_level_name!!, !!siteemail!!, !!login_link

Note: You can only use the variables listed for each template above in your email. If you use other variables in your email the content will not be accurate. You will need to write a custom filter using the appropriate hook documented below to add additional data to these emails.

Action and Filter Hooks

The following actions and filters are available in this Add On:

apply_filters( 'pmpro_approvals_status_filter', $status, $user_id, $level_id );

Modify the approval status returned to customize or override the status based on specific conditions.

apply_filters( 'pmproap_user_is_approved', ( 'approved' == $user_approval['status'] ? true : false ), $user_id, $level_id, $user_approval );

Filter to override whether the user ID is approved for access to for the level ID.

apply_filters( 'pmproap_user_is_denied', ( 'denied' == $user_approval['status'] ? true : false ), $user_id, $level_id, $user_approval );

Filter to override the denial of access to the specified level ID for the given user ID.

apply_filters( 'pmproap_user_is_pending', ( 'pending' == $user_approval['status'] ? true : false ), $user_id, $level_id, $user_approval );

Filter to override whether the user ID is pending access to the level ID.

apply_filters( 'pmpro_approvals_members_list_status', array( 'oldmembers', 'cancelled', 'expired' ) );

Add approval status to the members list in the dashboard.

apply_filters( 'pmpro_approvals_email_confirmation_status', $r );

Allows customization of the email confirmation status returned.

apply_filters( 'pmpro_approvals_member_approved_email_data', $this->data, $member, $level );

Send user’s an email that their account has been approved.

apply_filters( 'pmpro_approvals_member_denied_email_data', $this->data, $member );

When membership is denied, send user’s an email.

apply_filters( 'pmpro_approvals_admin_pending_email_data', $this->data, $member, $admin );

Send user’s an email that their account is pending.

apply_filters( 'pmpro_approvals_admin_approved_email_data', $this->data, $member, $admin );

Sends an email to the admin when the user has been approved.

apply_filters( 'pmpro_approvals_admin_denied_email_data', $this->data, $member, $admin );

When the user has been denied, send an email to the admin.

do_action( 'pmpro_approvals_list_extra_cols_header', array $theuser );

Add extra columns to the Approvals page.

do_action( 'pmpro_approvals_list_extra_cols_body', array $theuser );

Add extra columns to the Approvals page.

Screenshots

Two-step membership checkout: Prevent signup when a membership level requires another level approval.
Image to show the process of approvals on the Membership Approval Admin Page
Edit Membership Level section added by the Approvals Add On

This is a Plus Add On.

Plus Add Ons are included in all Plus or higher premium membership plans.