Forked from eighty20results/pmpro-append-to-end.php
Last active
February 3, 2019 00:10
-
-
Save itsjusteileen/89cc06ce17df599ce9dc0b380c0c63b7 to your computer and use it in GitHub Desktop.
When user renews membership we append the duration to their current enddate
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Plugin Name: Paid Memberships Pro: Extend membership by new level duration | |
Plugin URI: http://www.paidmembershipspro.com/wp/pmpro-customizations/ | |
Description: On change of level, modify the end date to add the new level's time | |
Version: 1.0 | |
Requires: 4.5.3 | |
License: GPL2 | |
License URI: https://www.gnu.org/licenses/gpl-2.0.html | |
*/ | |
function sidetrack_pmp_extend_enddate_by_duration( $enddate, $user_id, $level, $startdate ) { | |
// If the user has a current membership level | |
if ( false !== ( $current_level = pmpro_getMembershipLevelForUser( $user_id ) ) | |
&& ! empty( $level->expiration_number ) && ! empty( $level->expiration_period ) | |
) { | |
$enddate = date( 'Y-m-d', strtotime( "+ {$level->expiration_number} {$level->expiration_period}", $current_level->enddate ) ); | |
} | |
return $enddate; | |
} | |
add_filter( 'pmpro_checkout_end_date', 'sidetrack_pmp_extend_enddate_by_duration', 10, 4 ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment