Created
June 6, 2019 12:35
-
-
Save ipokkel/7617d3c86d6ced8ed1b028bdb7945c5a to your computer and use it in GitHub Desktop.
Sample custom membership card template to display values of Register Helper Fields on card
This file contains hidden or 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 | |
/** | |
* Custom membership-card template | |
* Place this directly in your theme/child-theme's root directory | |
* e.g.: example.com/wp-content/themes/{your active theme}/membership-card.php | |
* | |
* Use the function my_pmpro_member_card_usermeta to retrieve meta values from the usermeta table | |
* | |
*/ | |
global $wpdb, $pmpro_membership_card_user, $pmpro_currency_symbol, $post; | |
if( (in_array('small',$print_sizes)) || (in_array('Small',$print_sizes)) || (in_array('all',$print_sizes)) || empty($print_sizes) ) | |
$print_small = true; | |
else | |
$print_small = false; | |
if( (in_array('medium',$print_sizes)) || (in_array('Medium',$print_sizes)) || (in_array('all',$print_sizes)) || empty($print_sizes) ) | |
$print_medium = true; | |
else | |
$print_medium = false; | |
if( (in_array('large',$print_sizes)) || (in_array('Large',$print_sizes)) || (in_array('all',$print_sizes)) || empty($print_sizes) ) | |
$print_large = true; | |
else | |
$print_large = false; | |
/** | |
* function my_pmpro_member_card_usermeta | |
* | |
* Retrieve custom meta value from usermeta table | |
* | |
* Sample: | |
* meta_key is occupation, meta_value is doctor | |
* my_pmpro_member_card_usermeta( 'occupation' ) | |
* will return doctor | |
* | |
* use <?php echo my_pmpro_member_card_usermeta( 'occupation' ) ?> to display | |
* in your html | |
* | |
* @param [string] usermeta_key | |
* @return usermeta_value | |
*/ | |
function my_pmpro_member_card_usermeta( $my_usermeta_key ) | |
{ | |
global $pmpro_membership_card_user; | |
$my_usermeta_key = get_user_meta( $pmpro_membership_card_user->ID, $my_usermeta_key, true ); | |
return $my_usermeta_key; | |
} | |
?> | |
<style> | |
/* Hide any thumbnail that might be on the page. */ | |
.page .attachment-post-thumbnail, .page .wp-post-image {display: none;} | |
.post .attachment-post-thumbnail, .post .wp-post-image {display: none;} | |
/* Page Styles */ | |
.pmpro_membership_card {clear: both;} | |
.pmpro_membership_card-print {background: #FFF; border: 1px solid #000000; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; margin: 0 0 20px 0;} | |
.pmpro_membership_card-inner {padding: 5%;} | |
.pmpro_membership_card-print h1 {font-size: 28px; margin: 0 0 10px 0;} | |
.pmpro_membership_card-print p {font-size: 12px; margin: 10px 0 0 0; padding: 0;} | |
img.pmpro_membership_card_image {border: none; box-shadow: none; float: right;} | |
.pmpro_membership_card-print-md .pmpro_membership_card_image {max-width: 150px;} | |
.pmpro_membership_card-print-md img.pmpro_membership_card_image {margin-bottom: 5%;} | |
.pmpro_membership_card-print-sm, .pmpro_membership_card-print-lg {display: none; visibility: hidden !important;} | |
.pmpro_clear {clear: both;} | |
/* Print Styles */ | |
@media print | |
{ | |
.page, .page .pmpro_membership_card #nav-below {visibility: hidden !important;} | |
.page .pmpro_membership_card {left: 2%; position: fixed; top: 2%; visibility: visible !important; width: 96%;} | |
<?php if(!empty($print_small)) { ?> | |
.pmpro_membership_card-print-sm {display: block; float: right; visibility: visible !important; width: 42%;} | |
.pmpro_membership_card-print-sm img.pmpro_membership_card_image {margin-bottom: 5%; max-width: 110px !important; } | |
<?php } ?> | |
<?php if(!empty($print_medium)) { ?> | |
.pmpro_membership_card-print-md {float: left; margin-bottom: 10%; visibility: visible !important; width: 48%;} | |
.pmpro_membership_card-print-md .pmpro_membership_card-inner {padding: 10% 5%;} | |
.pmpro_membership_card-print-md img.pmpro_membership_card_image {max-width: 150px !important; } | |
<?php } else { ?> | |
.pmpro_membership_card-print-md {display: none; } | |
<?php } ?> | |
<?php if(!empty($print_large)) { ?> | |
.pmpro_membership_card-print-lg {clear: both; display: block; line-height: 26px; visibility: visible !important; width: 100%;} | |
.pmpro_membership_card-print-lg .pmpro_membership_card-inner {padding: 10% 5%;} | |
.pmpro_membership_card-print-lg img.pmpro_membership_card_image {max-width: 250px !important;} | |
.pmpro_membership_card-print-lg h1 {font-size: 60px; margin: 0 0 50px 0;} | |
.pmpro_membership_card-print-lg p {font-size: 22px; margin: 20px 0 0 0;} | |
<?php } ?> | |
} | |
</style> | |
<a class="pmpro_a-print" href="javascript:window.print()">Print</a> | |
<div class="pmpro_membership_card"> | |
<?php | |
$featured_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); | |
if(function_exists("pmpro_getMemberStartDate")) | |
$since = pmpro_getMemberStartDate($pmpro_membership_card_user->ID); | |
else | |
$since = $pmpro_membership_card_user->user_registered; | |
?> | |
<div class="pmpro_membership_card-print pmpro_membership_card-print-md"> | |
<div class="pmpro_membership_card-inner"> | |
<h1> | |
<?php | |
if($pmpro_membership_card_user->user_firstname) | |
echo $pmpro_membership_card_user->user_firstname, " ", $pmpro_membership_card_user->user_lastname; | |
else | |
echo $pmpro_membership_card_user->display_name; | |
?> | |
</h1> | |
<?php | |
if(!empty($featured_image)) | |
{ | |
?> | |
<img id="pmpro_membership_card_image" class="pmpro_membership_card_image" src="<?php echo esc_attr($featured_image);?>" border="0" /> | |
<?php | |
} | |
?> | |
<?php | |
if(!empty($since)) | |
{ | |
?> | |
<p><strong>Member Since:</strong> <?php echo date(get_option("date_format"), strtotime($pmpro_membership_card_user->user_registered));?></p> | |
<?php | |
} | |
?> | |
<?php if(function_exists("pmpro_hasMembershipLevel")) { ?> | |
<p><strong><?php _e("Level", "pmpro");?>:</strong> <?php echo $pmpro_membership_card_user->membership_level->name?></p> | |
<p><strong><?php _e("Membership Expires", "pmpro");?>:</strong> | |
<?php | |
if($pmpro_membership_card_user->membership_level->enddate) | |
echo date(get_option('date_format'), $pmpro_membership_card_user->membership_level->enddate); | |
else | |
echo "Never"; | |
?> | |
</p> | |
<?php } ?> | |
<?php | |
if( function_exists("pmpro_hasMembershipLevel") && my_pmpro_member_card_usermeta('member_number') ) { ?> | |
<p><strong><?php _e("Level", "pmpro");?>:</strong> <?php echo $pmpro_membership_card_user->membership_level->name?></p> | |
<p><strong>Member Number:</strong> | |
<?php | |
echo my_pmpro_member_card_usermeta('member_number'); | |
?> | |
</p> | |
<?php | |
} | |
?> | |
</div><div class="pmpro_clear"></div> | |
</div> <!-- end pmpro_membership_card-print-md --> | |
<div class="pmpro_membership_card-print pmpro_membership_card-print-sm"<?php if(empty($print_small)) { ?> style="display: none;"<?php } ?>> | |
<div class="pmpro_membership_card-inner"> | |
<h1> | |
<?php | |
if($pmpro_membership_card_user->user_firstname) | |
echo $pmpro_membership_card_user->user_firstname, " ", $pmpro_membership_card_user->user_lastname; | |
else | |
echo $pmpro_membership_card_user->display_name; | |
?> | |
</h1> | |
<?php | |
if(!empty($featured_image)) | |
{ | |
?> | |
<img id="pmpro_membership_card_image" class="pmpro_membership_card_image" src="<?php echo esc_attr($featured_image);?>" border="0" /> | |
<?php | |
} | |
?> | |
<?php | |
if(!empty($since)) | |
{ | |
?> | |
<p><strong>Member Since:</strong> <?php echo date(get_option("date_format"), strtotime($pmpro_membership_card_user->user_registered));?></p> | |
<?php | |
} | |
?> | |
<?php if(function_exists("pmpro_hasMembershipLevel")) { ?> | |
<p><strong><?php _e("Level", "pmpro");?>:</strong> <?php echo $pmpro_membership_card_user->membership_level->name?></p> | |
<p><strong><?php _e("Membership Expires", "pmpro");?>:</strong> | |
<?php | |
if($pmpro_membership_card_user->membership_level->enddate) | |
echo date(get_option('date_format'), $pmpro_membership_card_user->membership_level->enddate); | |
else | |
echo "Never"; | |
?> | |
</p> | |
<?php } ?> | |
<?php | |
if( function_exists("pmpro_hasMembershipLevel") && my_pmpro_member_card_usermeta('member_number') ) { ?> | |
<p><strong><?php _e("Level", "pmpro");?>:</strong> <?php echo $pmpro_membership_card_user->membership_level->name?></p> | |
<p><strong>Member Number:</strong> | |
<?php | |
echo my_pmpro_member_card_usermeta('member_number'); | |
?> | |
</p> | |
<?php | |
} | |
?> | |
</div><div class="pmpro_clear"></div> | |
</div> <!-- end pmpro_membership_card-print-sm --> | |
<div class="pmpro_membership_card-print pmpro_membership_card-print-lg"<?php if(empty($print_large)) { ?> style="display: none;"<?php } ?>> | |
<div class="pmpro_membership_card-inner"> | |
<h1> | |
<?php | |
if($pmpro_membership_card_user->user_firstname) | |
echo $pmpro_membership_card_user->user_firstname, " ", $pmpro_membership_card_user->user_lastname; | |
else | |
echo $pmpro_membership_card_user->display_name; | |
?> | |
</h1> | |
<?php | |
if(!empty($featured_image)) | |
{ | |
?> | |
<img id="pmpro_membership_card_image" class="pmpro_membership_card_image" src="<?php echo esc_attr($featured_image);?>" border="0" /> | |
<?php | |
} | |
?> | |
<?php | |
if(!empty($since)) | |
{ | |
?> | |
<p><strong>Member Since:</strong> <?php echo date(get_option("date_format"), strtotime($pmpro_membership_card_user->user_registered));?></p> | |
<?php | |
} | |
?> | |
<?php if(function_exists("pmpro_hasMembershipLevel")) { ?> | |
<p><strong><?php _e("Level", "pmpro");?>:</strong> <?php echo $pmpro_membership_card_user->membership_level->name?></p> | |
<p><strong><?php _e("Membership Expires", "pmpro");?>:</strong> | |
<?php | |
if($pmpro_membership_card_user->membership_level->enddate) | |
echo date(get_option('date_format'), $pmpro_membership_card_user->membership_level->enddate); | |
else | |
echo "Never"; | |
?> | |
</p> | |
<?php } ?> | |
<?php | |
if( function_exists("pmpro_hasMembershipLevel") && my_pmpro_member_card_usermeta('member_number') ) { ?> | |
<p><strong><?php _e("Level", "pmpro");?>:</strong> <?php echo $pmpro_membership_card_user->membership_level->name?></p> | |
<p><strong>Member Number:</strong> | |
<?php | |
echo my_pmpro_member_card_usermeta('member_number'); | |
?> | |
</p> | |
<?php | |
} | |
?> | |
</div><div class="pmpro_clear"></div> | |
</div> <!-- end pmpro_membership_card-print-lg --> | |
<nav id="nav-below" class="navigation" role="navigation"> | |
<div class="nav-previous alignleft"> | |
<?php if(function_exists("pmpro_hasMembershipLevel") && pmpro_hasMembershipLevel(NULL, $pmpro_membership_card_user->ID)) { ?> | |
<a href="<?php echo pmpro_url("account")?>"><?php _e('← Return to Your Account', 'pmpro');?></a> | |
<?php } else { ?> | |
<a href="<?php echo home_url()?>"><?php _e('← Return to Home', 'pmpro');?></a> | |
<?php } ?> | |
</div> | |
</nav> | |
</div> <!-- end #pmpro_membership_card --> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment