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' ); // Generate member number on the Membership Account page if the user doesn't have one. function my_pmpro_generate_member_number_if_empty() { global $pmpro_pages; // Only run on the account page. if ( ! is_page( $pmpro_pages['account'] ) ) { return; } // Only run for logged in users. if ( ! is_user_logged_in() ) { return; } // If the generate number function doesn't exist, return. if ( ! function_exists( 'generate_member_number' ) ) { return; } // Get member number. global $current_user; $member_number = get_user_meta( $current_user->ID, 'member_number', true ); // If no number, generate one. if ( empty( $member_number ) ) { $member_number = generate_member_number( $current_user->ID ); } } add_action( 'template_redirect', 'my_pmpro_generate_member_number_if_empty' );