Skip to content

Instantly share code, notes, and snippets.

@theRealRizeo
Last active September 14, 2017 06:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save theRealRizeo/4d353903fdc860bd0a1bdc069515935d to your computer and use it in GitHub Desktop.
Save theRealRizeo/4d353903fdc860bd0a1bdc069515935d to your computer and use it in GitHub Desktop.
Cron to delete expired members and users
<?php
/**
* Membership 2 plugin script to run in the background to delete expired members
*
*/
if ( ! wp_next_scheduled( 'my_membership_delete_expired_members' ) ) {
wp_schedule_event( time(), 'daily', 'my_membership_delete_expired_members' );
}
add_action( 'my_membership_delete_expired_members', 'my_membership_delete_expired_members' );
function my_membership_delete_expired_members(){
$expired_members = MS_Model_Member::get_members( array(
'subscription_status' => 'expired',
'posts_per_page' => -1,
'offset' => 0,
'membership_id' => $membership_id //If you only want to delete for a specific membership
) );
require_once(ABSPATH.'wp-admin/includes/user.php');
if ( !empty( $expired_members ) && is_array( $expired_members )) {
foreach( $expired_members as $member ){
$user_id = $member->id;
foreach ( $member->subscriptions as $subscription ){
$subscription->delete(); //delete subscription
}
wp_delete_user( $user_id ); //Delete user
}
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment