Skip to content

Instantly share code, notes, and snippets.

@dparker1005
Last active April 18, 2022 18:13
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dparker1005/1e9b988ebc4dbb18b51067323dbe8111 to your computer and use it in GitHub Desktop.
Save dparker1005/1e9b988ebc4dbb18b51067323dbe8111 to your computer and use it in GitHub Desktop.
Creates a log at /paid-memberships-pro/logs/level-change.txt for whenever a membership is expired.
<?php
// Copy from below here...
/*
* Creates a log at /paid-memberships-pro/logs/level-change.txt for whenever a
* membership is expired.
*/
function my_pmpro_pre_membership_expiry_log( $user_id, $membership_id ) {
global $wpdb;
$today = date("Y-m-d", current_time("timestamp"));
$queried_data = $wpdb->get_results( "SELECT mu.user_id, mu.membership_id, mu.startdate, mu.enddate FROM $wpdb->pmpro_memberships_users mu WHERE mu.status = 'active' AND mu.user_id = '" . $user_id . "' AND mu.enddate IS NOT NULL AND mu.enddate <> '0000-00-00 00:00:00' AND DATE(mu.enddate) <= '" . esc_sql( $today ) . "' LIMIT 1" );
$logstr = "Logged On: " . date_i18n("m/d/Y H:i:s") . "\n";
$logstr .= "Today: " . $today . "\n";
$logstr .= "User ID: " . $user_id . "\n";
$logstr .= "Expired Level: " . $membership_id . "\n";
$logstr .= "Original Enddate: " . $queried_data[0]->enddate . "\n";
$logstr .= "\n-------------\n";
$loghandle = fopen(PMPRO_DIR . "/logs/expiration_log.txt", "a+");
fwrite($loghandle, $logstr);
fclose($loghandle);
}
add_action( 'pmpro_membership_pre_membership_expiry', 'my_pmpro_pre_membership_expiry_log', 10, 3 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment