Tribe__Tickets_Plus__Commerce__EDD__Main::generate_tickets( int $order_id )
Generate and store all the attendees information for a new order.
Contents
Parameters
- $order_id
-
(int) (Required)
Source
File: src/Tribe/Commerce/EDD/Main.php
public function generate_tickets( $order_id ) {
/**
* Hook before WooCommerce Tickets are generated in Event Tickets Plus.
*
* @since 4.10.4
*
* @param int $order_id The order ID.
*/
do_action( 'tribe_tickets_plus_woo_before_generate_tickets', $order_id );
// Bail if we already generated the info for this order
$done = get_post_meta( $order_id, $this->order_has_tickets, true );
if ( ! empty( $done ) ) {
return;
}
$has_tickets = false;
// Get the items purchased in this order
$order_items = edd_get_payment_meta_cart_details( $order_id );
// Bail if the order is empty
if ( empty( $order_items ) ) {
return;
}
// Iterate over each product
foreach ( (array) $order_items as $item ) {
$has_tickets |= (bool) $this->generate_attendees_for_order_entry( $order_id, $item );
}
if ( $has_tickets ) {
update_post_meta( $order_id, $this->order_has_tickets, '1' );
// Send the email to the user
do_action( 'eddtickets-send-tickets-email', $order_id );
}
}