Tribe__Tickets_Plus__Commerce__WooCommerce__Main::get_ticket_table_warnings( Tribe__Tickets__Ticket_Object|int $ticket, int $event_id )
Get the warning tooltip HTML for the ticket table
Contents
Parameters
- $ticket
-
(Tribe__Tickets__Ticket_Object|int) (Required) ticket object (or ID)
- $event_id
-
(int) (Required) event ID for the ticket
Return
(string) HTML string for tooltip insertion
Source
File: src/Tribe/Commerce/WooCommerce/Main.php
public function get_ticket_table_warnings( $ticket, $event_id ) {
// no ticket, no event? bail
if ( empty( $ticket ) || empty( $event_id ) ) {
return;
}
// Just in case...
if ( is_numeric( $ticket ) ) {
$ticket = $this->get_ticket( $event_id, $ticket );
}
if ( __CLASS__ !== $ticket->provider_class ) {
return;
}
$messages = [];
$inventory = (int) $ticket->inventory();
$stock = (int) $ticket->stock();
$product = wc_get_product( $ticket->ID );
if ( -1 !== $ticket->capacity() ) {
$shared_stock = new Tribe__Tickets__Global_Stock( $event_id );
if (
$inventory !== $stock
&& ( ! $shared_stock->is_enabled() || $stock < (int) $shared_stock->get_stock_level() )
) {
$messages['mismatch'] = _x( 'The number of Complete ticket sales does not match the number of attendees. Please check the <a href="' . tribe( 'tickets.attendees' )->get_report_link( get_post( $event_id ) ) . '">Attendees list</a> and adjust ticket stock in WooCommerce as needed.', 'event-tickets' );
}
}
if ( 'own' === $ticket->global_stock_mode() && ! $product->get_manage_stock() ) {
$messages['stock'] = _x( '"Unlimited" will be displayed unless you enable the WooCommerce\'s "Manage stock" setting. You can do so <a href="' . esc_url( $ticket->admin_link ) . '">here</a>.', 'event-tickets' );
}
if ( empty( $messages ) ) {
return;
}
ob_start();
?>
<div class="tribe-tooltip" aria-expanded="false">
<span class="dashicons dashicons-warning required"></span>
<div class="down" <?php if ( 1 < count( $messages ) ) { echo 'style="width: 370px;"';} ?>>
<?php foreach( $messages as $type => $message ) : ?>
<p>
<span><?php echo $message; ?></span>
</p>
<?php endforeach;?>
</div>
</div>
<?php
echo ob_get_clean();
}