Untitled
unknown
plain_text
5 months ago
2.3 kB
5
Indexable
/** * Generate a Unique Member Number for each user. * * Change the generate_member_number function if your member number needs to be in a certain format. * * Member numbers are generated when users are registered or when the membership account page is * accessed for the first time. This code will only generate one member number per user (not per membership). * * title: Generate a Unique Member Number for Each User * layout: snippet * collection: misc * category: membership-number * */ function generate_member_number( $user_id ) { // Get member number. $member_number = get_user_meta( $user_id, 'member_number', true ); // If no member number, create one. if ( empty( $member_number ) ) { global $wpdb; // This code generates a string that's 10 characters long of numbers and letters. while ( empty( $member_number ) ) { $scramble = md5( AUTH_KEY . current_time('timestamp') . $user_id . SECURE_AUTH_KEY) ; $member_number = substr( $scramble, 0, 5 ); $check = $wpdb->get_var( "SELECT meta_value FROM $wpdb->usermeta WHERE meta_value = '" . esc_sql( $member_number ) . "' LIMIT 1" ); if ( $check || is_numeric( $member_number ) ) { $member_number = NULL; } } // Save to user meta. update_user_meta( $user_id, 'member_number', $member_number ); return $member_number; } } add_action( 'user_register', 'generate_member_number' ); /** * Show the user's Membership Number on the Membership Account page. */ function my_pmpro_member_number_account_bullets() { // If the generate number function doesn't exist, return. if ( ! function_exists( 'generate_member_number' ) ) { return; } // Only run for logged in users. if ( ! is_user_logged_in() ) { return; } // Get member number. global $current_user; $member_number = get_user_meta( $current_user->ID, 'member_number', true ); // If no member number, create one. if ( empty( $member_number ) ) $member_number = generate_member_number( $current_user->ID ); // Show the member number. if ( ! empty( $member_number ) ) { ?> <li><strong><?php esc_html_e( 'Member Number', 'paid-memberships-pro' ); ?>:</strong> <?php echo $member_number; ?></li> <?php } } add_action( 'pmpro_account_bullets_bottom', 'my_pmpro_member_number_account_bullets' );
Editor is loading...
Leave a Comment