Tribe__Tickets_Plus__Commerce__WooCommerce__Main::front_end_tickets_form( $content )
Shows the tickets form in the front end
Contents
Parameters
- $content
-
(Required)
Return
(void)
Source
File: src/Tribe/Commerce/WooCommerce/Main.php
public function front_end_tickets_form( $content ) {
$post = $GLOBALS['post'];
// For recurring events (child instances only), default to loading tickets for the parent event
if ( ! empty( $post->post_parent ) && function_exists( 'tribe_is_recurring_event' ) && tribe_is_recurring_event( $post->ID ) ) {
$post = get_post( $post->post_parent );
}
$tickets = self::get_tickets( $post->ID );
if ( empty( $tickets ) ) {
return;
}
// Check to see if all available tickets' end-sale dates have passed, in which case no form
// should show on the front-end.
$expired_tickets = 0;
foreach ( $tickets as $ticket ) {
if ( ! $ticket->date_in_range() ) {
$expired_tickets++;
}
}
$must_login = ! is_user_logged_in() && $this->login_required();
if ( $expired_tickets >= count( $tickets ) ) {
/**
* Allow to hook into the FE form of the tickets if tickets has already expired. If the action used the
* second value for tickets make sure to use a callback instead of an inline call to the method such as:
*
* Example:
*
* add_action( 'tribe_tickets_expired_front_end_ticket_form', function( $must_login, $tickets ) {
* Tribe__Tickets_Plus__Attendees_List::instance()->render();
* }, 10, 2 );
*
* If the tickets are not required to be used on the view you an use instead.
*
* add_action( 'tribe_tickets_expired_front_end_ticket_form', array( Tribe__Tickets_Plus__Attendees_List::instance(), 'render' ) );
*
* @since 4.7.3
*
* @param boolean $must_login
* @param array $tickets
*/
do_action( 'tribe_tickets_expired_front_end_ticket_form', $must_login, $tickets );
}
$global_stock_enabled = $this->uses_global_stock( $post->ID );
Tribe__Tickets__Tickets::add_frontend_stock_data( $tickets );
/**
* Allow for the addition of content (namely the "Who's Attening?" list) above the ticket form.
*
* @since 4.5.4
*/
do_action( 'tribe_tickets_before_front_end_ticket_form' );
include $this->getTemplateHierarchy( 'wootickets/tickets' );
}