Skip to content

Instantly share code, notes, and snippets.

@rafsuntaskin
Last active July 3, 2022 22:14
Show Gist options
  • Save rafsuntaskin/0ceec1ea99d1c81938f4cc3bf4cc7212 to your computer and use it in GitHub Desktop.
Save rafsuntaskin/0ceec1ea99d1c81938f4cc3bf4cc7212 to your computer and use it in GitHub Desktop.
PDF Tickets extension - Woo attachments filter by attendee
<?php
add_filter( 'tribe_tickets_ticket_email_attachments', 'filter_woo_pdf_attachments_by_attendee', 10, 6 );
function filter_woo_pdf_attachments_by_attendee( $attachments, $post_id, $order_id, $tickets, $provider, $args ) {
$order = wc_get_order( $order_id );
if ( ! $order ) {
return $attachments;
}
$total_pdf = count( $attachments );
$total_attendee = count( $tickets );
if ( $total_pdf === $total_attendee ) {
return $attachments;
}
if ( $total_attendee > 1 ) {
return $attachments;
}
$is_purchaser = tribe_is_truthy( Tribe__Utils__Array::get_in_any( $tickets, 'is_purchaser' ) );
if ( $args['send_purchaser_all'] && $is_purchaser ) {
return $attachments;
}
$attendee_id = Tribe__Utils__Array::get_in_any( $tickets, 'attendee_id' );
$serial = (int) $attendee_id - $order_id;
$key_name = "woo_{$order_id}_{$serial}";
if ( isset( $attachments[$key_name] ) ) {
return [ $key_name => $attachments[$key_name] ];
}
return $attachments;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment