Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewlimaza committed Apr 25, 2024
2 parents 0502dac + 763caa8 commit 4086875
Show file tree
Hide file tree
Showing 3 changed files with 184 additions and 46 deletions.
6 changes: 3 additions & 3 deletions pmpro-membership-card.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Plugin Name: Paid Memberships Pro - Membership Card Add On
Plugin URI: http://www.paidmembershipspro.com/wp/pmpro-membership-card/
Description: Display a printable Membership Card for Paid Memberships Pro members or WP users.
Version: 1.1.2
Version: 1.1.3
Author: Stranger Studios
Author URI: http://www.strangerstudios.com
Text Domain: pmpro-membership-card
Expand Down Expand Up @@ -262,7 +262,7 @@ function pmpro_membership_card_profile_fields( $user ) {
$membership_card_user_url = add_query_arg( 'u', $user->ID, $membership_card_page_url );

?>
<h3><?php esc_html_e( 'Membership Card', 'pmpro-membership-card' ); ?></h3>
<h2><?php esc_html_e( 'Membership Card', 'pmpro-membership-card' ); ?></h2>
<p><a href="<?php echo esc_url( $membership_card_user_url );?>"><?php esc_html_e( 'View and Print Membership Card', 'pmpro-membership-card' ); ?></a></p>
<?php
}
Expand Down Expand Up @@ -467,4 +467,4 @@ function pmpro_membership_card_qr_code_class( $pmpro_membership_card_user, $prin
echo 'pmpro-qr-code-active';
}
}
add_action( 'pmpro_membership_card-extra_classes', 'pmpro_membership_card_qr_code_class', 10, 4 );
add_action( 'pmpro_membership_card-extra_classes', 'pmpro_membership_card_qr_code_class', 10, 4 );
9 changes: 7 additions & 2 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
Contributors: strangerstudios
Tags: paid memberships pro, pmpro, membership, card, membership card, members, badge, logo
Requires at least: 5.0
Tested up to: 6.1
Stable tag: 1.1.2
Tested up to: 6.5
Stable tag: 1.1.3

Display a printable Membership Card for Paid Memberships Pro members or WP users.

Expand All @@ -29,6 +29,11 @@ Specify the print size of the cards to display using the shortcode attribute "pr
Please post it in the issues section of GitHub and we'll fix it as soon as we can. Thanks for helping. https://github.com/strangerstudios/pmpro-membership-card/issues

== Changelog ==
= 1.1.3 - 2024-04-25 =
* ENHANCEMENT: Improvements added to the print functionality and adjusted printing sizes.
* ENHANCEMENT: Adjusted title of the membership card from H3 to H2 to improve accessibility and screen readers.
* REFACTOR: Added comments to code for improved IDE compatibility.

= 1.1.2 - 2023-02-02 =
* ENHANCEMENT: Added compatibility for using the [pmpro_membership_card] in custom post types (@JarrydLong)
* BUG FIX: Fixed an issue when qr_data attribute was set to an invalid option.
Expand Down
215 changes: 174 additions & 41 deletions templates/membership-card.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
<?php
/**
* Available variables coming from the shortcode atts
*
* @var string[] $print_sizes
* @var string $qr_code
* @var string $qr_data
*/
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;
Expand All @@ -21,44 +28,171 @@
/* 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;}
.pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-data, .pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-after { width: 48%; display: inline-block; vertical-align: middle; }
.pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-after{ margin-left: 2%; }
.pmpro_membership_card {
clear: both;
}
.pmpro_membership_card-print {
background: #FFF;
border: 1px solid #000000;
border-radius: 10px;
margin: 0 0 20px 0;
}
.pmpro_membership_card-print h1,
.pmpro_membership_card-print p {
margin: 0 0 15px 0;
padding: 0;
}
.pmpro_membership_card-inner {
padding: 25px;
}
img.pmpro_membership_card_image {
border: none;
box-shadow: none;
float: right;
}
.pmpro_membership_card-print-md .pmpro_membership_card_image {
max-width: 200px;
}
.pmpro_membership_card-print-md img.pmpro_membership_card_image {
margin-bottom: 15px;
}
.pmpro_membership_card-print-sm,
.pmpro_membership_card-print-lg {
display: none;
visibility: hidden !important;
}
.pmpro_clear {
clear: both;
}
.pmpro_membership_card-inner .pmpro_membership_card-after p:last-of-type {
margin-bottom: 0;
}
.pmpro-qr-code-active .pmpro_membership_card-after img {
height: 100px;
width: 100px;
}
/* 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; }
.pmpro_membership_card-print-sm .pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-data, .pmpro_membership_card-print-sm .pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-after { width: 100%; margin-left: 0px; }
.page, .page .pmpro_membership_card #nav-below {
visibility: hidden !important;
}
.page .pmpro_membership_card {
left: 1mm;
position: fixed;
top: 1mm;
visibility: visible !important;
}
.pmpro-qr-code-active .pmpro_membership_card-after img {
height: 40px;
width: 40px;
}
<?php if ( ! empty( $print_small ) ) { ?>
.pmpro_membership_card-print-sm {
display: block;
height: 54mm;
margin-bottom: 5mm;
overflow: hidden;
width: 86mm;
visibility: visible !important;
}
.pmpro_membership_card-print-sm .pmpro_membership_card-inner {
display: flex;
align-items: center;
height: 100%;
padding: 5mm;
}
.pmpro_membership_card-print-sm .pmpro_membership_card-inner * {
flex: 1;
}
.pmpro_membership_card-print-sm img.pmpro_membership_card_image {
margin-bottom: 5mm;
max-width: 18mm !important;
}
.pmpro_membership_card-print.pmpro_membership_card-print-sm h1 {
font-size: 16pt;
line-height: 20pt;
margin: 0;
}
.pmpro_membership_card-print.pmpro_membership_card-print-sm p {
font-size: 11pt;
line-height: 14pt;
margin: 2mm 0 0 0;
}
<?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; }
.pmpro_membership_card-print-md .pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-data, .pmpro_membership_card-print-md .pmpro_membership_card-inner.qr_code_active .pmpro_membership_card-after { width: 100%; margin-left: 0px; }
.pmpro_membership_card-print-md {
height: 64mm;
margin-bottom: 5mm;
overflow: hidden;
width: 102mm;
visibility: visible !important;
}
.pmpro_membership_card-print-md .pmpro_membership_card-inner {
display: flex;
align-items: center;
height: 100%;
padding: 8mm;
}
.pmpro_membership_card-print-md .pmpro_membership_card-inner * {
flex: 1;
}
.pmpro_membership_card-print-md img.pmpro_membership_card_image {
margin-bottom: 5mm;
max-width: 24mm !important;
}
.pmpro_membership_card-print.pmpro_membership_card-print-md h1 {
font-size: 24pt;
line-height: 30pt;
margin: 0;
}
.pmpro_membership_card-print.pmpro_membership_card-print-md p {
font-size: 12pt;
line-height: 16pt;
margin: 2mm 0 0 0;
}
<?php } else { ?>
.pmpro_membership_card-print-md {display: none; }
.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;}
.pmpro_membership_card-print-lg {
display: block;
height: 115mm;
overflow: hidden;
width: 185mm;
visibility: visible !important;
}
.pmpro_membership_card-print-lg .pmpro_membership_card-inner {
display: flex;
align-items: center;
height: 100%;
padding: 10mm;
}
.pmpro_membership_card-print-lg .pmpro_membership_card-inner * {
flex: 1;
}
.pmpro_membership_card-print-lg img.pmpro_membership_card_image {
margin-bottom: 5mm;
max-width: 60mm !important;
}
.pmpro_membership_card-print.pmpro_membership_card-print-lg h1 {
font-size: 28pt;
line-height: 32pt;
margin: 0;
}
.pmpro_membership_card-print.pmpro_membership_card-print-lg p {
font-size: 14pt;
line-height: 18pt;
margin: 5mm 0 0 0;
}
.pmpro_membership_card-print.pmpro_membership_card-print-lg .pmpro-qr-code-active .pmpro_membership_card-after img {
height: 60px;
width: 60px;
}
<?php } ?>
}
</style>
Expand All @@ -71,7 +205,7 @@
else
$since = isset( $pmpro_membership_card_user->user_registered ) ? $pmpro_membership_card_user->user_registered : '';
?>
<div class="pmpro_membership_card-print 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 <?php do_action( 'pmpro_membership_card-extra_classes', $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ); ?>">
<div class="pmpro_membership_card-data">
<h1>
Expand All @@ -91,11 +225,10 @@
if(!empty($since))
{
?>
<p id="pmpro_membership_card_member_since"><strong><?php _e( 'Member Since', 'pmpro-membership-card' ); ?>:</strong> <?php echo apply_filters('pmpro_membership_card_since_date', date_i18n( get_option("date_format"), strtotime( $pmpro_membership_card_user->user_registered ) ), $pmpro_membership_card_user );?></p>
<p id="pmpro_membership_card_member_since"><strong><?php esc_html_e( 'Member Since', 'pmpro-membership-card' ); ?>:</strong> <?php echo apply_filters('pmpro_membership_card_since_date', date_i18n( get_option("date_format"), strtotime( $pmpro_membership_card_user->user_registered ) ), $pmpro_membership_card_user );?></p>
<?php
}
?>

<?php if(function_exists("pmpro_hasMembershipLevel")) { ?>

<p><strong><?php _e("Level", 'pmpro-membership-card');?>:</strong>
Expand All @@ -108,16 +241,16 @@
echo pmpro_membership_card_return_end_date( $pmpro_membership_card_user );
?>
</p>
<?php } ?>
<?php } ?>
<?php if( has_action( 'pmpro_membership_card_after_card' ) ){ ?>
<div class="pmpro_membership_card-after">
<?php do_action( 'pmpro_membership_card_after_card', $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ); ?>
</div>
<?php } ?>
</div>
</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> <!-- end pmpro_membership_card-print-sm -->
<div class="pmpro_membership_card-print pmpro_membership_card-print-md">
<div class="pmpro_membership_card-inner <?php do_action( 'pmpro_membership_card-extra_classes', $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ); ?>">
<div class="pmpro_membership_card-data">
<h1>
Expand All @@ -137,22 +270,23 @@
if(!empty($since))
{
?>
<p id="pmpro_membership_card_member_since"><strong><?php _e( 'Member Since', 'pmpro-membership-card' ); ?>:</strong> <?php echo date_i18n(get_option("date_format"), strtotime($pmpro_membership_card_user->user_registered));?></p>
<p id="pmpro_membership_card_member_since"><strong><?php esc_html_e( 'Member Since', 'pmpro-membership-card' ); ?>:</strong> <?php echo apply_filters('pmpro_membership_card_since_date', date_i18n( get_option("date_format"), strtotime( $pmpro_membership_card_user->user_registered ) ), $pmpro_membership_card_user );?></p>
<?php
}
?>

<?php if(function_exists("pmpro_hasMembershipLevel")) { ?>

<p><strong><?php _e("Level", 'pmpro-membership-card');?>:</strong>
<?php
pmpro_membership_card_output_levels_for_user( $pmpro_membership_card_user );
?>
</p>
</p>
<p><strong><?php _e("Membership Expires", 'pmpro-membership-card');?>:</strong>
<?php
echo pmpro_membership_card_return_end_date( $pmpro_membership_card_user );
?>
</p>
</p>
<?php } ?>
<?php if( has_action( 'pmpro_membership_card_after_card' ) ){ ?>
<div class="pmpro_membership_card-after">
Expand All @@ -161,7 +295,7 @@
<?php } ?>
</div>
</div><div class="pmpro_clear"></div>
</div> <!-- end pmpro_membership_card-print-sm -->
</div> <!-- end pmpro_membership_card-print-md -->
<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 <?php do_action( 'pmpro_membership_card-extra_classes', $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ); ?>">
<div class="pmpro_membership_card-data">
Expand All @@ -182,7 +316,7 @@
if(!empty($since))
{
?>
<p id="pmpro_membership_card_member_since"><strong><?php _e( 'Member Since', 'pmpro-membership-card' ); ?>:</strong> <?php echo date_i18n(get_option("date_format"), strtotime($pmpro_membership_card_user->user_registered));?></p>
<p id="pmpro_membership_card_member_since"><strong><?php esc_html_e( 'Member Since', 'pmpro-membership-card' ); ?>:</strong> <?php echo apply_filters('pmpro_membership_card_since_date', date_i18n(get_option("date_format"), strtotime($pmpro_membership_card_user->user_registered)));?></p>
<?php
}
?>
Expand Down Expand Up @@ -218,4 +352,3 @@
</div>
</nav>
</div> <!-- end #pmpro_membership_card -->

0 comments on commit 4086875

Please sign in to comment.