<?php
/**
* This template renders the registration/purchase attendee fields.
*
* Override this template in your own theme by creating a file at:
* [your-theme]/tribe/tickets/registration/content.php
*
* @link https://evnt.is/1amp Help article for RSVP & Ticket template files.
*
* @deprecated 4.11.0 Starting with version 4.12.3, loading this file will cause errors.
*
* @since 4.9
* @since 4.10.1 Update template paths to add the "registration/" prefix
* @since 4.10.9 Add Filter to show an event/post tickets on AR Page
* @since 4.11.0 Add docblocks, pass missing 'provider' arg to registration/button-cart template, and add action hooks.
* @since 4.12.3 This template has been marked as deprecated.
* @since 5.0.3 Add `event-tickets` class to the wrapper.
*
* @version 5.0.3
*
* @var Tribe__Tickets__Attendee_Registration__View $this
*/
$passed_provider = tribe_get_request_var( tribe_tickets_get_provider_query_slug() );
$passed_provider_class = $this->get_form_class( $passed_provider );
/**
* Before the output, whether or not $events is empty.
*
* @since 4.11.0
*
* @param string $passed_provider The 'provider' $_REQUEST var.
* @param string $passed_provider_class The class string or empty string if ticket provider is not found.
* @param array $events The array of events, which might be empty.
*/
do_action( 'tribe_tickets_registration_content_before_all_events', $passed_provider, $passed_provider_class, $events );
// If there are no events with tickets in cart, print the empty cart template.
if ( empty( $events ) ) {
$this->template( 'registration/cart-empty' );
return;
}
?>
<div class="tribe-common event-tickets tribe-tickets__registration">
<div class="tribe-tickets__registration__actions">
<?php
$this->template(
'registration/button-cart',
[
'provider' => $passed_provider,
]
);
?>
</div>
<?php
foreach ( $events as $event_id => $tickets ) :
try {
// Remove an event/post tickets if none have attendee registration.
$show_tickets = tribe( 'tickets.attendee_registration' )->has_attendee_registration_enabled_in_array_of_tickets( $tickets );
} catch ( \Exception $exception ) {
$show_tickets = true;
}
/**
* Filter to show an event/post tickets on Attendee Registration page regardless if they are enabled.
*
* @param boolean $show_tickets True or false to show tickets for an event.
* @param array $tickets An array of ticket products.
* @param int $event_id The event/post ID.
*
* @since 4.10.9
*/
$show_tickets = apply_filters( 'tribe_tickets_filter_showing_tickets_on_attendee_registration', $show_tickets, $tickets, $event_id );
if ( ! $show_tickets ) {
continue;
}
$provider_class = $passed_provider_class;
$providers = array_unique( wp_list_pluck( wp_list_pluck( $tickets, 'provider'), 'attendee_object') );
if (
empty( $provider_class )
&& ! empty( $providers[ $event_id ] )
) {
$provider_class = 'tribe-tickets__item__attendee__fields__form--' . $providers[ $event_id ];
}
$has_tpp = Tribe__Tickets__Commerce__PayPal__Main::ATTENDEE_OBJECT === $passed_provider || in_array( Tribe__Tickets__Commerce__PayPal__Main::ATTENDEE_OBJECT, $providers );
?>
<div
class="tribe-common tribe-tickets__registration__event"
data-event-id="<?php echo esc_attr( $event_id ); ?>"
data-is-meta-up-to-date="<?php echo absint( $is_meta_up_to_date ); ?>"
>
<?php $this->template( 'registration/summary/content', [ 'event_id' => $event_id, 'tickets' => $tickets ] ); ?>
<div class="tribe-tickets__item__attendee__fields">
<?php $this->template( 'registration/attendees/error', [ 'event_id' => $event_id, 'tickets' => $tickets ] ); ?>
<form
method="post"
class="tribe-tickets__item__attendee__fields__form <?php echo sanitize_html_class( $provider_class ); ?>"
name="<?php echo 'event' . esc_attr( $event_id ); ?>"
novalidate
>
<?php $this->template( 'registration/attendees/content', [ 'event_id' => $event_id, 'tickets' => $tickets ] ); ?>
<input type="hidden" name="tribe_tickets_saving_attendees" value="1" />
<?php if ( $has_tpp ) : ?>
<button type="submit"><?php esc_html_e( 'Save and Checkout', 'event-tickets' ); ?></button>
<?php else: ?>
<button type="submit"><?php esc_html_e( 'Save Attendee Info', 'event-tickets' ); ?></button>
<?php endif; ?>
</form>
<?php $this->template( 'registration/attendees/error', [] ); ?>
<?php $this->template( 'registration/attendees/success', [] ); ?>
<?php $this->template( 'registration/attendees/loader', [] ); ?>
</div>
</div>
<?php endforeach; ?>
<?php
$this->template(
'registration/button-checkout',
[
'checkout_url' => $checkout_url,
'cart_has_required_meta' => $cart_has_required_meta,
'is_meta_up_to_date' => $is_meta_up_to_date,
]
);
/**
* After the output, only if $events is not empty.
*
* @since 4.11.0
*
* @param string $passed_provider The 'provider' $_REQUEST var.
* @param string $passed_provider_class The class string or empty string if ticket provider is not found.
* @param array $events The non-empty array of events.
*/
do_action( 'tribe_tickets_registration_content_after_all_events', $passed_provider, $passed_provider_class, $events );
?>
</div>
|