cliff
8/13/2018 - 7:35 PM

Template override for [tribe-user-event-confirmations] to add PDF Ticket links

Template override for [tribe-user-event-confirmations] to add PDF Ticket links

<?php
/**
 * Renders the My Attendance list
 *
 * Override this template in your own theme by creating a file at:
 *
 *     [your-theme]/tribe-events/tickets/shortcodes/my-attendance-list.php
 *
 * @version 4.3.5
 *
 * @var array $event_ids
 */
?>

<ul class="tribe-tickets my-attendance-list">
	<?php foreach ( $event_ids as $id ): ?>
		<?php $start_date = tribe_get_start_date( $id ); ?>
		<li class="event-<?php echo esc_attr( $id ) ?>">
			<a href="<?php echo esc_url( get_permalink( $id ) ); ?>" target="_blank">
				<?php echo get_the_title( $id ); ?>
				<?php if ( $start_date ): ?>
					<span class="datetime">(<?php echo $start_date; ?>)</span>
				<?php endif; ?>
			</a>
			<!-- Implement PDF Ticket per event -->
			<?php
			/**
			 * @link https://gist.github.com/cliffordp/68e3fde2c05efc61b9df9688a3fb5d53 Snippet of this entire file.
			 * @link https://cl.ly/271Q3K072a1u Screenshot of how it works for me (and hopefully for you, too).
			 * @link https://github.com/moderntribe/event-tickets/blob/4.7.6/src/views/shortcodes/my-attendance-list.php The original version of this file, for historical reference.
			 */
			if ( method_exists( 'Tribe__Extension__PDF_Tickets', 'ticket_link' ) ) {
				$all_attendees  = Tribe__Tickets__Tickets::get_event_attendees( $id );
				$user_attendees = [];
				$current_user   = get_current_user_id();
				foreach ( $all_attendees as $attendee ) {
					if ( $current_user !== absint( $attendee['user_id'] ) ) {
						$user_attendees[] = $attendee;
					}
				}
				if ( ! empty( $user_attendees ) ) {
					echo '<ul class="users-tickets-per-event">';
					foreach ( $user_attendees as $user_attendee ) {
						printf( '<li>Attendee #%d: %s</li>',
							$user_attendee['attendee_id'],
							Tribe__Extension__PDF_Tickets::instance()->ticket_link( $user_attendee['attendee_id'] )
						);
					}
					echo '</ul>';
				}
			}
			?>
			<!-- End PDF Tickets customization -->
		</li>

	<?php endforeach; ?>

	<?php if ( empty( $event_ids ) ): ?>

		<li class="event-none">
			<?php esc_html_e( 'You have not indicated your attendance for any upcoming events.', 'event-tickets' ); ?>
		</li>

	<?php endif; ?>
</ul>