Skip to content

Instantly share code, notes, and snippets.

@messica
Forked from LMNTL/pay-by-check-no-access.php
Last active May 31, 2019 15:53
Show Gist options
  • Save messica/214711442dac7ef4615ede37a01fc396 to your computer and use it in GitHub Desktop.
Save messica/214711442dac7ef4615ede37a01fc396 to your computer and use it in GitHub Desktop.
Force user's with pending orders from Pay By Check Add On and PMPro to not have access to any member content.
<?php
/**
* This checks to see if the user has a 'pending' check order and will deny access whever member content is called.
* Add this code below to your PMPro Customizations Plugin - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
function pmpro_deny_if_user_is_pending( $hasaccess, $post, $user, $levels ) {
// Only continue if post or page already requires access.
if ( empty( $levels ) ) {
return $hasaccess;
}
$order = new MemberOrder();
$order->getLastMemberOrder( $user->ID, array( 'pending', '', 'check' ) );
// if there are any pending orders done by check, restrict access.
if ( ! empty( $order->status ) ) {
$hasaccess = false;
}
return $hasaccess;
}
add_filter( 'pmpro_has_membership_access_filter', 'pmpro_deny_if_user_is_pending', 10, 4 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment