Skip to content

Instantly share code, notes, and snippets.

@andrewlimaza
Last active August 28, 2023 07:18
Show Gist options
  • Save andrewlimaza/46a3e543e5d6d069e4715c6fed679e81 to your computer and use it in GitHub Desktop.
Save andrewlimaza/46a3e543e5d6d069e4715c6fed679e81 to your computer and use it in GitHub Desktop.
Show member number on Membership Card Add On Paid Memberships Pro
<?php
/**
* This will show a member number on the membership card for Paid Memberships Pro. Please read all comments below!
* This requires the following - https://www.paidmembershipspro.com/generate-a-unique-member-number-for-display-on-membership-account-confirmation-email-and-more/
* At the time of this writing, created a custom page template and added in hook "do_action( 'pmpro_membership_card_additional_fields', $pmpro_membership_card_user );" to the relevant area.
* Add this code to your PMPro Customizations Plugin - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
* www.paidmembershipspro.com for help.
*/
function my_show_member_number_on_card( $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ) {
if( !function_exists( 'pmpro_hasMembershipLevel' ) || !function_exists( 'generate_member_number' ) ){
return;
}
if( !pmpro_hasMembershipLevel() ) {
return;
}
$member_id = get_user_meta( $pmpro_membership_card_user->ID, 'member_number', true );
if( empty( $member_id ) ) {
// lets generate it on the fly.
$member_id = generate_member_number( $pmpro_membership_card_user->ID );
}
echo '<p><strong>Membership Number:</strong> ' . $member_id . '</p>';
}
add_action( 'pmpro_membership_card_after_card', 'my_show_member_number_on_card', 10, 4 );
@JarrydLong
Copy link

@andrewlimaza that hook doesn't seem to be available in the Membership Card add-on, the below will work on Membership Card Add-on >= V1.0

function my_show_member_number_on_card( $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ) {

if( !function_exists( 'pmpro_hasMembershipLevel' ) || !function_exists( 'generate_member_number' ) ){
	return;
}

if( !pmpro_hasMembershipLevel() ) {
	return;
}

$member_id = get_user_meta( $pmpro_membership_card_user->ID, 'member_number', true );

if( empty( $member_id ) ) {
	// lets generate it on the fly.
	$member_id = generate_member_number( $pmpro_membership_card_user->ID );
}

echo '<p><strong>Membership Number:</strong> ' . $member_id . '</p>';

}
add_action( 'pmpro_membership_card_after_card', 'my_show_member_number_on_card', 10, 4 );

@andrewlimaza
Copy link
Author

Thanks for sharing this, I am updating the gist as the hooks name has changed to the one you've mentioned. REF: https://github.com/strangerstudios/pmpro-membership-card/blob/master/templates/membership-card.php#L114

@andrewlimaza
Copy link
Author

Code has been updated, thanks @JarrydLong :)

@andrewlimaza
Copy link
Author

Another note, the function generate_member_number needs to be created or exist and this gist won't work as-is. It's just a sample to work from.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment