Skip to content

Instantly share code, notes, and snippets.

@andrewlimaza
Created November 16, 2016 15:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save andrewlimaza/6306d20e12a51dddd1f0039b0631e362 to your computer and use it in GitHub Desktop.
Save andrewlimaza/6306d20e12a51dddd1f0039b0631e362 to your computer and use it in GitHub Desktop.
Show "Days Left" for Paid Memberships Pro
<?php
//Copy lines 5 onwards into your PMPro Customizations plugin -> https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
/**
* Add days left to members list
*/
function my_pmpro_days_left_members_list_col_header( $theusers )
{
?>
<th><?php _e( 'Days Left', 'pmpro' );?></th>
<?php
}
add_action( 'pmpro_memberslist_extra_cols_header', 'my_pmpro_days_left_members_list_col_header' );
function my_pmpro_days_left_members_list_col_body( $theuser )
{
$today = date( "d-m-Y" ); //get today's date
$theuser->membership_level = pmpro_getMembershipLevelForUser( $theuser->ID );
$user_enddate = $theuser->membership_level->enddate;
$days_left = ( $user_enddate - strtotime( $today ) ) / 86400;
?>
<td>
<?php
if( $user_enddate != 0 ){
echo ceil( $days_left );
}else{
_e( "Never Expires", "pmpro" );
}
?>
</td>
<?php
}
add_action( 'pmpro_memberslist_extra_cols_body', 'my_pmpro_days_left_members_list_col_body' );
/**
* Function to add days left to the edit user profile page - add after pmpro level profile fields.
**/
function my_pmpro_days_left_profile_field($user) {
$today = date( "d-m-Y" ); //get today's date
$user->membership_level = pmpro_getMembershipLevelForUser( $user->ID );
$user_enddate = $user->membership_level->enddate;
$days_left = ( $user_enddate - strtotime( $today ) ) / 86400;
?>
<table class="form-table">
<tr>
<th>
<label><?php _e( 'Days left: ' ); ?></label>
</th>
<td>
<?php
if( $user_enddate != 0 ){
echo ceil( $days_left ). " days";
}else{
_e( "Never Expires", "pmpro" );
}
?>
</td>
</tr>
</table>
<?php
}
add_action( 'pmpro_after_membership_level_profile_fields' , 'my_pmpro_days_left_profile_field' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment