When purchasing tickets with Event Tickets Plus, emails won’t be sent to attendees until the order has been marked as Complete, when using WooCommerce. By default, this is a process that needs to be done manually by the administrator.

Here, we’ll show you how to make sure that your attendees receive their emails and how you can set this up automatically.

WooCommerce Order Process

When an attendee purchases a ticket, the order is first set to Pending by WooCommerce. The payment gateway then attempts to run the payment method, in which case the order status updates to On-Hold (or Failed if the payment doesn’t go through). Next, WooCommerce automatically sets the status to Processing. And that is where the “automatic” process ends.

As the administrator, you’ll then have to set the order to Completed in order for the email to your attendee to be triggered. The following diagram may be helpful to get a sense of the order process:

WooCommerce order status diagram

You may also want to reference this article from WooCommerce to see some more detailed information about managing WooCommerce orders.

Automatically Set to Complete

If you’d like, you can automatically set the order to Complete, so that an email will be sent to your attendees as soon as their payment method is verified. This will require no further action on your part in order to complete your ticket orders.

In order to make this happen, simply add the following snippet to your theme’s functions.php file:

/**
 * Auto Complete all WooCommerce orders.
 */
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) { 
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}

You can also use this snippet to automatically set your orders to any status that you’d like. Simply replace the word ‘completed’ with any other WooCommerce order status.