Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ideadude/60d28b84068b5a1a5c67488ea2ef8ec0 to your computer and use it in GitHub Desktop.
Save ideadude/60d28b84068b5a1a5c67488ea2ef8ec0 to your computer and use it in GitHub Desktop.
Automatically approve, previously approved members. [Paid Memberships Pro]
<?php
/**
* Automatically approve any previously approved member.
* Requires the PMPro Approval Process for Membership Add On - https://www.paidmembershipspro.com/add-ons/approval-process-membership/
* Add this code to your site following this guide - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
function my_pmpro_automatically_approve_previously_approved( $level_id, $user_id, $cancelled_level ) {
if ( ! class_exists( 'PMPro_Approvals' ) ) {
return;
}
if ( ! PMPro_Approvals::requiresApproval( $level_id ) ) {
return;
}
$prev_approved = get_user_meta( $user_id, 'pmpro_approval_log', true );
if ( is_array( $prev_approved) && ! empty( $prev_approved ) ) {
// Approve member if they have previously been approved.
foreach( $prev_approved as $approval_string ) {
if ( strpos( $approval_string, 'approved' ) !== false ) {
// Let's approve the member
PMPro_Approvals::approveMember( $user_id, $level_id, true );
break;
}
}
}
}
add_action( 'pmpro_after_change_membership_level', 'my_pmpro_automatically_approve_previously_approved', 10, 3 );
@andrewlimaza
Copy link

Here is a new method how to automatically keep an approved member, approved - https://gist.github.com/ideadude/99714ad43279aac85f086fc0c0b703f4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment